From 7e00a8db9bf3f9017fb6e58ce71f6b0a8b4e2b9c Mon Sep 17 00:00:00 2001 From: Damien Fouilleul Date: Sat, 11 Nov 2006 21:43:34 +0000 Subject: [PATCH] - make sure chroma converters respect picture line pitch for packed chroma --- modules/video_chroma/i422_yuy2.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/modules/video_chroma/i422_yuy2.c b/modules/video_chroma/i422_yuy2.c index c8888aae54..35e0328894 100644 --- a/modules/video_chroma/i422_yuy2.c +++ b/modules/video_chroma/i422_yuy2.c @@ -142,7 +142,8 @@ static int Activate( vlc_object_t *p_this ) static void I422_YUY2( vout_thread_t *p_vout, picture_t *p_source, picture_t *p_dest ) { - uint8_t *p_line = p_dest->p->p_pixels; + uint8_t *p_pixels = p_dest->p->p_pixels; + int i_pitch = p_dest->p->i_pitch; uint8_t *p_y = p_source->Y_PIXELS; uint8_t *p_u = p_source->U_PIXELS; uint8_t *p_v = p_source->V_PIXELS; @@ -151,6 +152,7 @@ static void I422_YUY2( vout_thread_t *p_vout, picture_t *p_source, for( i_y = p_vout->render.i_height ; i_y-- ; ) { + uint8_t *p_line = p_pixels; for( i_x = p_vout->render.i_width / 8 ; i_x-- ; ) { #if defined (MODULE_NAME_IS_i422_yuy2) @@ -165,6 +167,7 @@ static void I422_YUY2( vout_thread_t *p_vout, picture_t *p_source, p_line += 16; p_y += 8; p_u += 4; p_v += 4; #endif } + p_pixels += i_pitch; } } @@ -174,7 +177,8 @@ static void I422_YUY2( vout_thread_t *p_vout, picture_t *p_source, static void I422_YVYU( vout_thread_t *p_vout, picture_t *p_source, picture_t *p_dest ) { - uint8_t *p_line = p_dest->p->p_pixels; + uint8_t *p_pixels = p_dest->p->p_pixels; + int i_pitch = p_dest->p->i_pitch; uint8_t *p_y = p_source->Y_PIXELS; uint8_t *p_u = p_source->U_PIXELS; uint8_t *p_v = p_source->V_PIXELS; @@ -183,6 +187,7 @@ static void I422_YVYU( vout_thread_t *p_vout, picture_t *p_source, for( i_y = p_vout->render.i_height ; i_y-- ; ) { + uint8_t *p_line = p_pixels; for( i_x = p_vout->render.i_width / 8 ; i_x-- ; ) { #if defined (MODULE_NAME_IS_i422_yuy2) @@ -197,6 +202,7 @@ static void I422_YVYU( vout_thread_t *p_vout, picture_t *p_source, p_line += 16; p_y += 8; p_u += 4; p_v += 4; #endif } + p_pixels += i_pitch; } } @@ -206,7 +212,8 @@ static void I422_YVYU( vout_thread_t *p_vout, picture_t *p_source, static void I422_UYVY( vout_thread_t *p_vout, picture_t *p_source, picture_t *p_dest ) { - uint8_t *p_line = p_dest->p->p_pixels; + uint8_t *p_pixels = p_dest->p->p_pixels; + int i_pitch = p_dest->p->i_pitch; uint8_t *p_y = p_source->Y_PIXELS; uint8_t *p_u = p_source->U_PIXELS; uint8_t *p_v = p_source->V_PIXELS; @@ -215,6 +222,7 @@ static void I422_UYVY( vout_thread_t *p_vout, picture_t *p_source, for( i_y = p_vout->render.i_height ; i_y-- ; ) { + uint8_t *p_line = p_pixels; for( i_x = p_vout->render.i_width / 8 ; i_x-- ; ) { #if defined (MODULE_NAME_IS_i422_yuy2) @@ -229,6 +237,7 @@ static void I422_UYVY( vout_thread_t *p_vout, picture_t *p_source, p_line += 16; p_y += 8; p_u += 4; p_v += 4; #endif } + p_pixels += i_pitch; } } -- 2.39.2