[Mlt-devel] mlt/src/modules/sdl consumer_sdl_still.c,1.25,1.26
Brought to you by:
ddennedy,
lilo_booter
From: Charles Y. <lil...@us...> - 2005-10-14 10:27:37
|
Update of /cvsroot/mlt/mlt/src/modules/sdl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28290 Modified Files: consumer_sdl_still.c Log Message: + Rounding errors corrected for last gasp scaling Index: consumer_sdl_still.c =================================================================== RCS file: /cvsroot/mlt/mlt/src/modules/sdl/consumer_sdl_still.c,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- consumer_sdl_still.c 7 Sep 2005 09:23:37 -0000 1.25 +++ consumer_sdl_still.c 14 Oct 2005 10:27:26 -0000 1.26 @@ -269,11 +269,11 @@ for ( y = 0; y < rect.h; y ++ ) { p = start; - row_index = ( scale_height * y ) >> 16; + row_index = ( 32768 + scale_height * y ) >> 16; row = image + stride * row_index; for ( x = 0; x < rect.w; x ++ ) { - q = row + ( ( ( scale_width * x ) >> 16 ) * 3 ); + q = row + ( ( ( 32768 + scale_width * x ) >> 16 ) * 3 ); *p ++ = SDL_MapRGB( screen->format, *q, *( q + 1 ), *( q + 2 ) ); } start += scanlength; @@ -298,11 +298,11 @@ for ( y = 0; y < rect.h; y ++ ) { p = start; - row_index = ( scale_height * y ) >> 16; + row_index = ( 32768 + scale_height * y ) >> 16; row = image + stride * row_index; for ( x = 0; x < rect.w; x ++ ) { - q = row + ( ( ( scale_width * x ) >> 16 ) * 3 ); + q = row + ( ( ( 32768 + scale_width * x ) >> 16 ) * 3 ); *p ++ = SDL_MapRGB( screen->format, *q, *( q + 1 ), *( q + 2 ) ); } start += scanlength; @@ -328,11 +328,11 @@ for ( y = 0; y < rect.h; y ++ ) { p = start; - row_index = ( scale_height * y ) >> 16; + row_index = ( 32768 + scale_height * y ) >> 16; row = image + stride * row_index; for ( x = 0; x < rect.w; x ++ ) { - q = row + ( ( ( scale_width * x ) >> 16 ) * 3 ); + q = row + ( ( ( 32768 + scale_width * x ) >> 16 ) * 3 ); pixel = SDL_MapRGB( screen->format, *q, *( q + 1 ), *( q + 2 ) ); *p ++ = (pixel & 0xFF0000) >> 16; *p ++ = (pixel & 0x00FF00) >> 8; @@ -360,11 +360,11 @@ for ( y = 0; y < rect.h; y ++ ) { p = start; - row_index = ( scale_height * y ) >> 16; + row_index = ( 32768 + scale_height * y ) >> 16; row = image + stride * row_index; for ( x = 0; x < rect.w; x ++ ) { - q = row + ( ( ( scale_width * x ) >> 16 ) * 3 ); + q = row + ( ( ( 32768 + scale_width * x ) >> 16 ) * 3 ); *p ++ = SDL_MapRGB( screen->format, *q, *( q + 1 ), *( q + 2 ) ); } start += scanlength; |