commit 5d17bd9d2db93b7a653f870232bf0c0e95a1de3c Author: RĂ©mi Denis-Courmont Date: Thu Jan 29 20:09:56 2015 +0200 chroma: remove dead CYUV support CYUV is not a pixel format, at least it is not treated as such in VLC outputs and encoders. CYUV is decoded to YUV 4:1:1 by libavcodec. diff --git a/modules/video_chroma/i420_yuy2.c b/modules/video_chroma/i420_yuy2.c index cd99dd6..4584f9e 100644 --- a/modules/video_chroma/i420_yuy2.c +++ b/modules/video_chroma/i420_yuy2.c @@ -44,13 +44,13 @@ #define SRC_FOURCC "I420,IYUV,YV12" #if defined (MODULE_NAME_IS_i420_yuy2) -# define DEST_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv,Y211" +# define DEST_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,Y211" # define VLC_TARGET #elif defined (MODULE_NAME_IS_i420_yuy2_mmx) -# define DEST_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv" +# define DEST_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV" # define VLC_TARGET VLC_MMX #elif defined (MODULE_NAME_IS_i420_yuy2_sse2) -# define DEST_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv" +# define DEST_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV" # define VLC_TARGET VLC_SSE #elif defined (MODULE_NAME_IS_i420_yuy2_altivec) # define DEST_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422" @@ -70,9 +70,7 @@ static picture_t *I420_YVYU_Filter ( filter_t *, picture_t * ); static picture_t *I420_UYVY_Filter ( filter_t *, picture_t * ); #if !defined (MODULE_NAME_IS_i420_yuy2_altivec) static void I420_IUYV ( filter_t *, picture_t *, picture_t * ); -static void I420_cyuv ( filter_t *, picture_t *, picture_t * ); static picture_t *I420_IUYV_Filter ( filter_t *, picture_t * ); -static picture_t *I420_cyuv_Filter ( filter_t *, picture_t * ); #endif #if defined (MODULE_NAME_IS_i420_yuy2) static void I420_Y211 ( filter_t *, picture_t *, picture_t * ); @@ -153,10 +151,6 @@ static int Activate( vlc_object_t *p_this ) case VLC_FOURCC('I','U','Y','V'): p_filter->pf_video_filter = I420_IUYV_Filter; break; - - case VLC_CODEC_CYUV: - p_filter->pf_video_filter = I420_cyuv_Filter; - break; #endif #if defined (MODULE_NAME_IS_i420_yuy2) @@ -194,7 +188,6 @@ VIDEO_FILTER_WRAPPER( I420_YVYU ) VIDEO_FILTER_WRAPPER( I420_UYVY ) #if !defined (MODULE_NAME_IS_i420_yuy2_altivec) VIDEO_FILTER_WRAPPER( I420_IUYV ) -VIDEO_FILTER_WRAPPER( I420_cyuv ) #endif #if defined (MODULE_NAME_IS_i420_yuy2) VIDEO_FILTER_WRAPPER( I420_Y211 ) @@ -849,136 +842,6 @@ static void I420_IUYV( filter_t *p_filter, picture_t *p_source, /* FIXME: TODO ! */ msg_Err( p_filter, "I420_IUYV unimplemented, please harass " ); } - -/***************************************************************************** - * I420_cyuv: planar YUV 4:2:0 to upside-down packed UYVY 4:2:2 - *****************************************************************************/ -VLC_TARGET -static void I420_cyuv( filter_t *p_filter, picture_t *p_source, - picture_t *p_dest ) -{ - uint8_t *p_line1 = p_dest->p->p_pixels + - p_dest->p->i_visible_lines * p_dest->p->i_pitch - + p_dest->p->i_pitch; - uint8_t *p_line2 = p_dest->p->p_pixels + - p_dest->p->i_visible_lines * p_dest->p->i_pitch; - uint8_t *p_y1, *p_y2 = p_source->Y_PIXELS; - uint8_t *p_u = p_source->U_PIXELS; - uint8_t *p_v = p_source->V_PIXELS; - - int i_x, i_y; - - const int i_source_margin = p_source->p[0].i_pitch - - p_source->p[0].i_visible_pitch; - const int i_source_margin_c = p_source->p[1].i_pitch - - p_source->p[1].i_visible_pitch; - const int i_dest_margin = p_dest->p->i_pitch - - p_dest->p->i_visible_pitch; - -#if !defined(MODULE_NAME_IS_i420_yuy2_sse2) - for( i_y = p_filter->fmt_in.video.i_height / 2 ; i_y-- ; ) - { - p_line1 -= 3 * p_dest->p->i_pitch; - p_line2 -= 3 * p_dest->p->i_pitch; - - p_y1 = p_y2; - p_y2 += p_source->p[Y_PLANE].i_pitch; - - for( i_x = p_filter->fmt_in.video.i_width / 8 ; i_x-- ; ) - { -#if !defined (MODULE_NAME_IS_i420_yuy2_mmx) - C_YUV420_UYVY( ); - C_YUV420_UYVY( ); - C_YUV420_UYVY( ); - C_YUV420_UYVY( ); -#else - MMX_CALL( MMX_YUV420_UYVY ); -#endif - } - for( i_x = ( p_filter->fmt_in.video.i_width % 8 ) / 2; i_x-- ; ) - { - C_YUV420_UYVY( ); - } - - p_y1 += i_source_margin; - p_y2 += i_source_margin; - p_u += i_source_margin_c; - p_v += i_source_margin_c; - p_line1 += i_dest_margin; - p_line2 += i_dest_margin; - } - -#if defined (MODULE_NAME_IS_i420_yuy2_mmx) - /* re-enable FPU registers */ - MMX_END; -#endif - -#else // defined(MODULE_NAME_IS_i420_yuy2_sse2) - /* - ** SSE2 128 bits fetch/store instructions are faster - ** if memory access is 16 bytes aligned - */ - if( 0 == (15 & (p_source->p[Y_PLANE].i_pitch|p_dest->p->i_pitch| - ((intptr_t)p_line2|(intptr_t)p_y2))) ) - { - /* use faster SSE2 aligned fetch and store */ - for( i_y = p_filter->fmt_in.video.i_height / 2 ; i_y-- ; ) - { - p_line1 = p_line2; - p_line2 += p_dest->p->i_pitch; - - p_y1 = p_y2; - p_y2 += p_source->p[Y_PLANE].i_pitch; - - for( i_x = p_filter->fmt_in.video.i_width / 16 ; i_x-- ; ) - { - SSE2_CALL( SSE2_YUV420_UYVY_ALIGNED ); - } - for( i_x = ( p_filter->fmt_in.video.i_width % 16 ) / 2; i_x-- ; ) - { - C_YUV420_UYVY( ); - } - - p_y1 += i_source_margin; - p_y2 += i_source_margin; - p_u += i_source_margin_c; - p_v += i_source_margin_c; - p_line1 += i_dest_margin; - p_line2 += i_dest_margin; - } - } - else - { - /* use slower SSE2 unaligned fetch and store */ - for( i_y = p_filter->fmt_in.video.i_height / 2 ; i_y-- ; ) - { - p_line1 = p_line2; - p_line2 += p_dest->p->i_pitch; - - p_y1 = p_y2; - p_y2 += p_source->p[Y_PLANE].i_pitch; - - for( i_x = p_filter->fmt_in.video.i_width / 16 ; i_x-- ; ) - { - SSE2_CALL( SSE2_YUV420_UYVY_UNALIGNED ); - } - for( i_x = ( p_filter->fmt_in.video.i_width % 16 ) / 2; i_x-- ; ) - { - C_YUV420_UYVY( ); - } - - p_y1 += i_source_margin; - p_y2 += i_source_margin; - p_u += i_source_margin_c; - p_v += i_source_margin_c; - p_line1 += i_dest_margin; - p_line2 += i_dest_margin; - } - } - /* make sure all SSE2 stores are visible thereafter */ - SSE2_END; -#endif // defined(MODULE_NAME_IS_i420_yuy2_sse2) -} #endif // !defined (MODULE_NAME_IS_i420_yuy2_altivec) /***************************************************************************** diff --git a/modules/video_chroma/i422_yuy2.c b/modules/video_chroma/i422_yuy2.c index 383fb3e..9099cfc 100644 --- a/modules/video_chroma/i422_yuy2.c +++ b/modules/video_chroma/i422_yuy2.c @@ -39,9 +39,9 @@ #define SRC_FOURCC "I422" #if defined (MODULE_NAME_IS_i422_yuy2) -# define DEST_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv,Y211" +# define DEST_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,Y211" #else -# define DEST_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv" +# define DEST_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV" #endif /***************************************************************************** @@ -53,12 +53,10 @@ static void I422_YUY2 ( filter_t *, picture_t *, picture_t * ); static void I422_YVYU ( filter_t *, picture_t *, picture_t * ); static void I422_UYVY ( filter_t *, picture_t *, picture_t * ); static void I422_IUYV ( filter_t *, picture_t *, picture_t * ); -static void I422_cyuv ( filter_t *, picture_t *, picture_t * ); static picture_t *I422_YUY2_Filter ( filter_t *, picture_t * ); static picture_t *I422_YVYU_Filter ( filter_t *, picture_t * ); static picture_t *I422_UYVY_Filter ( filter_t *, picture_t * ); static picture_t *I422_IUYV_Filter ( filter_t *, picture_t * ); -static picture_t *I422_cyuv_Filter ( filter_t *, picture_t * ); #if defined (MODULE_NAME_IS_i422_yuy2) static void I422_Y211 ( filter_t *, picture_t *, picture_t * ); static picture_t *I422_Y211_Filter ( filter_t *, picture_t * ); @@ -130,10 +128,6 @@ static int Activate( vlc_object_t *p_this ) p_filter->pf_video_filter = I422_IUYV_Filter; break; - case VLC_CODEC_CYUV: - p_filter->pf_video_filter = I422_cyuv_Filter; - break; - #if defined (MODULE_NAME_IS_i422_yuy2) case VLC_CODEC_Y211: p_filter->pf_video_filter = I422_Y211_Filter; @@ -157,7 +151,6 @@ VIDEO_FILTER_WRAPPER( I422_YUY2 ) VIDEO_FILTER_WRAPPER( I422_YVYU ) VIDEO_FILTER_WRAPPER( I422_UYVY ) VIDEO_FILTER_WRAPPER( I422_IUYV ) -VIDEO_FILTER_WRAPPER( I422_cyuv ) #if defined (MODULE_NAME_IS_i422_yuy2) VIDEO_FILTER_WRAPPER( I422_Y211 ) #endif @@ -456,104 +449,6 @@ static void I422_IUYV( filter_t *p_filter, picture_t *p_source, } /***************************************************************************** - * I422_cyuv: planar YUV 4:2:2 to upside-down packed UYVY 4:2:2 - *****************************************************************************/ -VLC_TARGET -static void I422_cyuv( filter_t *p_filter, picture_t *p_source, - picture_t *p_dest ) -{ - uint8_t *p_line = p_dest->p->p_pixels + p_dest->p->i_visible_lines * 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; - - int i_x, i_y; - - const int i_source_margin = p_source->p[0].i_pitch - - p_source->p[0].i_visible_pitch; - const int i_source_margin_c = p_source->p[1].i_pitch - - p_source->p[1].i_visible_pitch; - const int i_dest_margin = p_dest->p->i_pitch - - p_dest->p->i_visible_pitch; - -#if defined (MODULE_NAME_IS_i422_yuy2_sse2) - - if( 0 == (15 & (p_source->p[Y_PLANE].i_pitch|p_dest->p->i_pitch| - ((intptr_t)p_line|(intptr_t)p_y))) ) - { - /* use faster SSE2 aligned fetch and store */ - for( i_y = p_filter->fmt_in.video.i_height ; i_y-- ; ) - { - p_line -= 2 * p_dest->p->i_pitch; - - for( i_x = p_filter->fmt_in.video.i_width / 16 ; i_x-- ; ) - { - SSE2_CALL( SSE2_YUV422_UYVY_ALIGNED ); - } - for( i_x = ( p_filter->fmt_in.video.i_width % 16 ) / 2; i_x-- ; ) - { - C_YUV422_UYVY( p_line, p_y, p_u, p_v ); - } - p_y += i_source_margin; - p_u += i_source_margin_c; - p_v += i_source_margin_c; - p_line += i_dest_margin; - } - } - else { - /* use slower SSE2 unaligned fetch and store */ - for( i_y = p_filter->fmt_in.video.i_height ; i_y-- ; ) - { - p_line -= 2 * p_dest->p->i_pitch; - - for( i_x = p_filter->fmt_in.video.i_width / 16 ; i_x-- ; ) - { - SSE2_CALL( SSE2_YUV422_UYVY_UNALIGNED ); - } - for( i_x = ( p_filter->fmt_in.video.i_width % 16 ) / 2; i_x-- ; ) - { - C_YUV422_UYVY( p_line, p_y, p_u, p_v ); - } - p_y += i_source_margin; - p_u += i_source_margin_c; - p_v += i_source_margin_c; - p_line += i_dest_margin; - } - } - SSE2_END; - -#else - - for( i_y = p_filter->fmt_in.video.i_height ; i_y-- ; ) - { - for( i_x = p_filter->fmt_in.video.i_width / 8 ; i_x-- ; ) - { - p_line -= 2 * p_dest->p->i_pitch; - -#if defined (MODULE_NAME_IS_i422_yuy2) - C_YUV422_UYVY( p_line, p_y, p_u, p_v ); - C_YUV422_UYVY( p_line, p_y, p_u, p_v ); - C_YUV422_UYVY( p_line, p_y, p_u, p_v ); - C_YUV422_UYVY( p_line, p_y, p_u, p_v ); -#elif defined (MODULE_NAME_IS_i422_yuy2_mmx) - MMX_CALL( MMX_YUV422_UYVY ); -#endif - } - p_y += i_source_margin; - p_u += i_source_margin_c; - p_v += i_source_margin_c; - p_line += i_dest_margin; - } -#if defined (MODULE_NAME_IS_i422_yuy2_mmx) - MMX_END; -#elif defined (MODULE_NAME_IS_i422_yuy2_sse2) - SSE2_END; -#endif - -#endif -} - -/***************************************************************************** * I422_Y211: planar YUV 4:2:2 to packed YUYV 2:1:1 *****************************************************************************/ #if defined (MODULE_NAME_IS_i422_yuy2) diff --git a/modules/video_chroma/yuy2_i420.c b/modules/video_chroma/yuy2_i420.c index 134cfa5..4adff8b 100644 --- a/modules/video_chroma/yuy2_i420.c +++ b/modules/video_chroma/yuy2_i420.c @@ -33,7 +33,7 @@ #include #include -#define SRC_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422,cyuv" +#define SRC_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422" #define DEST_FOURCC "I420" /***************************************************************************** @@ -44,12 +44,10 @@ static int Activate ( vlc_object_t * ); static void YUY2_I420 ( filter_t *, picture_t *, picture_t * ); static void YVYU_I420 ( filter_t *, picture_t *, picture_t * ); static void UYVY_I420 ( filter_t *, picture_t *, picture_t * ); -static void cyuv_I420 ( filter_t *, picture_t *, picture_t * ); static picture_t *YUY2_I420_Filter ( filter_t *, picture_t * ); static picture_t *YVYU_I420_Filter ( filter_t *, picture_t * ); static picture_t *UYVY_I420_Filter ( filter_t *, picture_t * ); -static picture_t *cyuv_I420_Filter ( filter_t *, picture_t * ); /***************************************************************************** * Module descriptor @@ -97,10 +95,6 @@ static int Activate( vlc_object_t *p_this ) p_filter->pf_video_filter = UYVY_I420_Filter; break; - case VLC_CODEC_CYUV: - p_filter->pf_video_filter = cyuv_I420_Filter; - break; - default: return -1; } @@ -116,7 +110,6 @@ static int Activate( vlc_object_t *p_this ) VIDEO_FILTER_WRAPPER( YUY2_I420 ) VIDEO_FILTER_WRAPPER( YVYU_I420 ) VIDEO_FILTER_WRAPPER( UYVY_I420 ) -VIDEO_FILTER_WRAPPER( cyuv_I420 ) /***************************************************************************** * YUY2_I420: packed YUY2 4:2:2 to planar YUV 4:2:0 @@ -321,72 +314,3 @@ static void UYVY_I420( filter_t *p_filter, picture_t *p_source, b_skip = !b_skip; } } - -/***************************************************************************** - * cyuv_I420: upside-down packed UYVY 4:2:2 to planar YUV 4:2:0 - * FIXME - *****************************************************************************/ -static void cyuv_I420( filter_t *p_filter, picture_t *p_source, - picture_t *p_dest ) -{ - uint8_t *p_line = p_source->p->p_pixels; - - uint8_t *p_y = p_dest->Y_PIXELS; - uint8_t *p_u = p_dest->U_PIXELS; - uint8_t *p_v = p_dest->V_PIXELS; - - int i_x, i_y; - - const int i_dest_margin = p_dest->p[0].i_pitch - - p_dest->p[0].i_visible_pitch; - const int i_dest_margin_c = p_dest->p[1].i_pitch - - p_dest->p[1].i_visible_pitch; - const int i_source_margin = p_source->p->i_pitch - - p_source->p->i_visible_pitch; - - bool b_skip = false; - - for( i_y = p_filter->fmt_out.video.i_height ; i_y-- ; ) - { - if( b_skip ) - { - for( i_x = p_filter->fmt_out.video.i_width / 8 ; i_x-- ; ) - { - #define C_cyuv_YUV422_skip( p_line, p_y, p_u, p_v ) \ - *p_y++ = *p_line++; p_line++; \ - *p_y++ = *p_line++; p_line++ - C_cyuv_YUV422_skip( p_line, p_y, p_u, p_v ); - C_cyuv_YUV422_skip( p_line, p_y, p_u, p_v ); - C_cyuv_YUV422_skip( p_line, p_y, p_u, p_v ); - C_cyuv_YUV422_skip( p_line, p_y, p_u, p_v ); - } - for( i_x = ( p_filter->fmt_out.video.i_width % 8 ) / 2; i_x-- ; ) - { - C_cyuv_YUV422_skip( p_line, p_y, p_u, p_v ); - } - } - else - { - for( i_x = p_filter->fmt_out.video.i_width / 8 ; i_x-- ; ) - { - #define C_cyuv_YUV422( p_line, p_y, p_u, p_v ) \ - *p_y++ = *p_line++; *p_v++ = *p_line++; \ - *p_y++ = *p_line++; *p_u++ = *p_line++ - C_cyuv_YUV422( p_line, p_y, p_u, p_v ); - C_cyuv_YUV422( p_line, p_y, p_u, p_v ); - C_cyuv_YUV422( p_line, p_y, p_u, p_v ); - C_cyuv_YUV422( p_line, p_y, p_u, p_v ); - } - for( i_x = ( p_filter->fmt_out.video.i_width % 8 ) / 2; i_x-- ; ) - { - C_cyuv_YUV422( p_line, p_y, p_u, p_v ); - } - } - p_line += i_source_margin; - p_y += i_dest_margin; - p_u += i_dest_margin_c; - p_v += i_dest_margin_c; - - b_skip = !b_skip; - } -} diff --git a/modules/video_chroma/yuy2_i422.c b/modules/video_chroma/yuy2_i422.c index 8ab149e..d748be6 100644 --- a/modules/video_chroma/yuy2_i422.c +++ b/modules/video_chroma/yuy2_i422.c @@ -33,7 +33,7 @@ #include #include -#define SRC_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422,cyuv" +#define SRC_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422" #define DEST_FOURCC "I422" /***************************************************************************** @@ -44,11 +44,9 @@ static int Activate ( vlc_object_t * ); static void YUY2_I422 ( filter_t *, picture_t *, picture_t * ); static void YVYU_I422 ( filter_t *, picture_t *, picture_t * ); static void UYVY_I422 ( filter_t *, picture_t *, picture_t * ); -static void cyuv_I422 ( filter_t *, picture_t *, picture_t * ); static picture_t *YUY2_I422_Filter ( filter_t *, picture_t * ); static picture_t *YVYU_I422_Filter ( filter_t *, picture_t * ); static picture_t *UYVY_I422_Filter ( filter_t *, picture_t * ); -static picture_t *cyuv_I422_Filter ( filter_t *, picture_t * ); /***************************************************************************** * Module descriptor @@ -96,10 +94,6 @@ static int Activate( vlc_object_t *p_this ) p_filter->pf_video_filter = UYVY_I422_Filter; break; - case VLC_CODEC_CYUV: - p_filter->pf_video_filter = cyuv_I422_Filter; - break; - default: return -1; } @@ -116,7 +110,6 @@ static int Activate( vlc_object_t *p_this ) VIDEO_FILTER_WRAPPER( YUY2_I422 ) VIDEO_FILTER_WRAPPER( YVYU_I422 ) VIDEO_FILTER_WRAPPER( UYVY_I422 ) -VIDEO_FILTER_WRAPPER( cyuv_I422 ) /***************************************************************************** * YUY2_I422: packed YUY2 4:2:2 to planar YUV 4:2:2 @@ -249,48 +242,3 @@ static void UYVY_I422( filter_t *p_filter, picture_t *p_source, p_v += i_dest_margin_c; } } - -/***************************************************************************** - * cyuv_I422: upside-down packed UYVY 4:2:2 to planar YUV 4:2:2 - * FIXME - *****************************************************************************/ -static void cyuv_I422( filter_t *p_filter, picture_t *p_source, - picture_t *p_dest ) -{ - uint8_t *p_line = p_source->p->p_pixels; - - uint8_t *p_y = p_dest->Y_PIXELS; - uint8_t *p_u = p_dest->U_PIXELS; - uint8_t *p_v = p_dest->V_PIXELS; - - int i_x, i_y; - - const int i_dest_margin = p_dest->p[0].i_pitch - - p_dest->p[0].i_visible_pitch; - const int i_dest_margin_c = p_dest->p[1].i_pitch - - p_dest->p[1].i_visible_pitch; - const int i_source_margin = p_source->p->i_pitch - - p_source->p->i_visible_pitch; - - for( i_y = p_filter->fmt_out.video.i_height ; i_y-- ; ) - { - for( i_x = p_filter->fmt_out.video.i_width / 8 ; i_x-- ; ) - { -#define C_cyuv_YUV422( p_line, p_y, p_u, p_v ) \ - *p_y++ = *p_line++; *p_v++ = *p_line++; \ - *p_y++ = *p_line++; *p_u++ = *p_line++ - C_cyuv_YUV422( p_line, p_y, p_u, p_v ); - C_cyuv_YUV422( p_line, p_y, p_u, p_v ); - C_cyuv_YUV422( p_line, p_y, p_u, p_v ); - C_cyuv_YUV422( p_line, p_y, p_u, p_v ); - } - for( i_x = ( p_filter->fmt_out.video.i_width % 8 ) / 2; i_x-- ; ) - { - C_cyuv_YUV422( p_line, p_y, p_u, p_v ); - } - p_line += i_source_margin; - p_y += i_dest_margin; - p_u += i_dest_margin_c; - p_v += i_dest_margin_c; - } -}