diff options
author | nick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-10-21 14:30:36 +0000 |
---|---|---|
committer | nick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-10-21 14:30:36 +0000 |
commit | eda026e002b9349979ea4b518f697b16cee57f00 (patch) | |
tree | 74fc9c68f95493bc2d6eb460a644cb719a12628a /libvo | |
parent | ec83776bc5a5e78598c8649b7b436d9411697042 (diff) |
Again changed logic:
-screenw, -screenh - force user video mode
-x, -y - force userdefined prescaling
-bpp - forces userdefined bpp
-zoom - enables prescaling (-x, -y)
-fs - scales image to fullscreen (same as ATI's divx/dvd player)
-zoom -fs - (together) scales userdefined prescaling to fullscreen
So full command line should be:
mplayer -vo vesa -screenw WWW -screenh HHH -bpp BPP -x XXX -y YYY -zoom -fs filename
And you will be able to watch movies in 16:9 format with bold black
border at top and bottom of screen.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2337 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo')
-rw-r--r-- | libvo/vo_vesa.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/libvo/vo_vesa.c b/libvo/vo_vesa.c index f5458d6bf6..4910aead07 100644 --- a/libvo/vo_vesa.c +++ b/libvo/vo_vesa.c @@ -354,15 +354,20 @@ init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint3 uint32_t w,h; unsigned short *mode_ptr,win_seg; unsigned bpp,best_x = UINT_MAX,best_y=UINT_MAX,best_mode_idx = UINT_MAX; - int err; + int err,fs_mode; image_width = width; image_height = height; + fs_mode = 0; if(flags & 0x8) { printf("vo_vesa: switch -flip is not supported\n"); } if(flags & 0x04) vesa_zoom = 1; - if(flags & 0x01 && vesa_zoom) vesa_zoom = 2; + if(flags & 0x01) + { + if(vesa_zoom) vesa_zoom = 2; + else fs_mode = 1; + } if((err=vbeInit()) != VBE_OK) { PRINT_VBE_ERR("vbeInit",err); return -1; } memcpy(vib.VESASignature,"VBE2",4); if((err=vbeGetControllerInfo(&vib)) != VBE_OK) @@ -498,7 +503,7 @@ init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint3 printf("vo_vesa: Using VESA mode (%u) = %x [%ux%u@%u]\n" ,best_mode_idx,video_mode,video_mode_info.XResolution ,video_mode_info.YResolution,video_mode_info.BitsPerPixel); - if( vesa_zoom ) + if( vesa_zoom || fs_mode ) { if( format==IMGFMT_YV12 ) { @@ -507,8 +512,13 @@ init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint3 vesa_aspect(image_width,image_height, video_mode_info.XResolution,video_mode_info.YResolution, &image_width,&image_height); -/* image_width = video_mode_info.XResolution; - image_height = video_mode_info.YResolution;*/ + else + if(fs_mode) + { + image_width = video_mode_info.XResolution; + image_height = video_mode_info.YResolution; + vesa_zoom = 1; + } scale_xinc=(width << 16) / image_width - 2; /* needed for proper rounding */ scale_yinc=(height << 16) / image_height + 2; SwScale_Init(); |