# HG changeset patch # User nick # Date 1003668137 0 # Node ID 9e8585a7182ea5e88a9ab9da352f08319e018ab5 # Parent 8f08613603257f74e039b862fcd0c05239042b23 Final fix of libmpeg2 zooming: flipping page support diff -r 8f0861360325 -r 9e8585a7182e libvo/vo_vesa.c --- a/libvo/vo_vesa.c Sun Oct 21 12:18:45 2001 +0000 +++ b/libvo/vo_vesa.c Sun Oct 21 12:42:17 2001 +0000 @@ -72,8 +72,6 @@ static int vesa_zoom=0; /* software scaling */ static unsigned int scale_xinc=0; static unsigned int scale_yinc=0; -static float aspect_factor; - static uint32_t image_width, image_height; /* source image dimension */ static int32_t x_offset,y_offset; /* to center image on screen */ @@ -83,6 +81,7 @@ static uint8_t *yuv_buffer = NULL; /* for yuv2rgb and sw_scaling */ static unsigned video_mode; /* selected video mode for playback */ static struct VesaModeInfoBlock video_mode_info; +static int flip_trigger = 0; #define MOVIE_MODE (MODE_ATTR_COLOR | MODE_ATTR_GRAPHICS) #define FRAME_MODE (MODE_WIN_RELOCATABLE | MODE_WIN_READABLE | MODE_WIN_WRITEABLE) @@ -236,32 +235,6 @@ } } -static void __vbeCopySliceData(uint8_t *image,int x, int y, int w, int h) -{ - unsigned long i,j,image_offset,offset; - unsigned pixel_size,image_line_size,screen_line_size,x_shift; - pixel_size = (video_mode_info.BitsPerPixel+7)/8; - screen_line_size = video_mode_info.XResolution*pixel_size; - image_line_size = w*pixel_size; -#if 0 - if(image_width == video_mode_info.XResolution && w == image_width) - { - /* Special case for zooming */ - __vbeCopyBlock((y_offset+y)*screen_line_size,image,image_line_size*image_height); - } - else -#endif - { - x_shift = (x_offset+x)*pixel_size; - for(j=0,i=y_offset+y;j