diff --git a/modules/video_filter/adjust.c b/modules/video_filter/adjust.c index ef159d0540..b5caeb40fc 100644 --- a/modules/video_filter/adjust.c +++ b/modules/video_filter/adjust.c @@ -132,7 +132,8 @@ static const struct vlc_filter_operations packed_filter_ops = *****************************************************************************/ static int Create( filter_t *p_filter ) { - if( p_filter->fmt_in.video.i_chroma != p_filter->fmt_out.video.i_chroma ) + if( !video_format_IsSameChroma( &p_filter->fmt_in.video, + &p_filter->fmt_out.video ) ) { msg_Err( p_filter, "Input and output chromas don't match" ); return VLC_EGENERIC; diff --git a/modules/video_filter/canvas.c b/modules/video_filter/canvas.c index f5a5f5dd44..69c6f42869 100644 --- a/modules/video_filter/canvas.c +++ b/modules/video_filter/canvas.c @@ -170,7 +170,8 @@ static int Activate( filter_t *p_filter ) return VLC_EGENERIC; } - if( p_filter->fmt_in.video.i_chroma != p_filter->fmt_out.video.i_chroma ) + if( !video_format_IsSameChroma( &p_filter->fmt_in.video, + &p_filter->fmt_out.video ) ) { msg_Err( p_filter, "Input and output chromas don't match" ); return VLC_EGENERIC; diff --git a/modules/video_filter/colorthres.c b/modules/video_filter/colorthres.c index 5ba3db575d..d549df4b3f 100644 --- a/modules/video_filter/colorthres.c +++ b/modules/video_filter/colorthres.c @@ -130,7 +130,8 @@ static int Create( filter_t *p_filter ) return VLC_EGENERIC; } - if( p_filter->fmt_in.video.i_chroma != p_filter->fmt_out.video.i_chroma ) + if( !video_format_IsSameChroma( &p_filter->fmt_in.video, + &p_filter->fmt_out.video ) ) { msg_Err( p_filter, "Input and output chromas don't match" ); return VLC_EGENERIC; diff --git a/modules/video_filter/croppadd.c b/modules/video_filter/croppadd.c index c7e841652b..53c47abcc2 100644 --- a/modules/video_filter/croppadd.c +++ b/modules/video_filter/croppadd.c @@ -154,7 +154,8 @@ static int OpenFilter( filter_t *p_filter ) return VLC_EGENERIC; } - if( p_filter->fmt_in.video.i_chroma != p_filter->fmt_out.video.i_chroma ) + if( !video_format_IsSameChroma( &p_filter->fmt_in.video, + &p_filter->fmt_out.video ) ) { msg_Err( p_filter, "Input and output chromas don't match" ); /* In fact we don't really care about this since we're allowed diff --git a/modules/video_filter/deinterlace/deinterlace.c b/modules/video_filter/deinterlace/deinterlace.c index 2ac50b45cb..c0e1da425d 100644 --- a/modules/video_filter/deinterlace/deinterlace.c +++ b/modules/video_filter/deinterlace/deinterlace.c @@ -620,7 +620,7 @@ notsupp: free( psz_mode ); if( !p_filter->b_allow_fmt_out_change && - ( fmt.i_chroma != p_filter->fmt_in.video.i_chroma || + ( !video_format_IsSameChroma( &fmt, &p_filter->fmt_in.video ) || fmt.i_height != p_filter->fmt_in.video.i_height ) ) { Close( p_filter ); diff --git a/modules/video_filter/fps.c b/modules/video_filter/fps.c index deffb03e32..5077ad9fa5 100644 --- a/modules/video_filter/fps.c +++ b/modules/video_filter/fps.c @@ -165,7 +165,8 @@ static int Open( filter_t *p_filter ) filter_sys_t *p_sys; /* This filter cannot change the format. */ - if( p_filter->fmt_out.video.i_chroma != p_filter->fmt_in.video.i_chroma ) + if( !video_format_IsSameChroma( &p_filter->fmt_in.video, + &p_filter->fmt_out.video ) ) return VLC_EGENERIC; p_sys = p_filter->p_sys = vlc_obj_malloc( VLC_OBJECT(p_filter), sizeof( *p_sys ) ); diff --git a/modules/video_filter/gaussianblur.c b/modules/video_filter/gaussianblur.c index fef26388d7..9b8c5531ed 100644 --- a/modules/video_filter/gaussianblur.c +++ b/modules/video_filter/gaussianblur.c @@ -136,7 +136,8 @@ static int Create( filter_t *p_filter ) return VLC_EGENERIC; } - if( p_filter->fmt_in.video.i_chroma != p_filter->fmt_out.video.i_chroma ) + if( !video_format_IsSameChroma( &p_filter->fmt_in.video, + &p_filter->fmt_out.video ) ) { msg_Err( p_filter, "Input and output chromas don't match" ); return VLC_EGENERIC; diff --git a/modules/video_filter/mirror.c b/modules/video_filter/mirror.c index cfb77dabbb..729fab824a 100644 --- a/modules/video_filter/mirror.c +++ b/modules/video_filter/mirror.c @@ -130,7 +130,8 @@ static int Create( filter_t *p_filter ) return VLC_EGENERIC; } - if( p_filter->fmt_in.video.i_chroma != p_filter->fmt_out.video.i_chroma ) + if( !video_format_IsSameChroma( &p_filter->fmt_in.video, + &p_filter->fmt_out.video ) ) { msg_Err( p_filter, "Input and output chromas don't match" ); return VLC_EGENERIC; diff --git a/modules/video_filter/posterize.c b/modules/video_filter/posterize.c index 769a108a3b..29727c330c 100644 --- a/modules/video_filter/posterize.c +++ b/modules/video_filter/posterize.c @@ -112,7 +112,8 @@ static int Create( filter_t *p_filter ) return VLC_EGENERIC; } - if( p_filter->fmt_in.video.i_chroma != p_filter->fmt_out.video.i_chroma ) + if( !video_format_IsSameChroma( &p_filter->fmt_in.video, + &p_filter->fmt_out.video ) ) { msg_Err( p_filter, "Input and output chromas don't match" ); return VLC_EGENERIC; diff --git a/modules/video_filter/postproc.c b/modules/video_filter/postproc.c index 77e9772cbc..8c84d7dcc8 100644 --- a/modules/video_filter/postproc.c +++ b/modules/video_filter/postproc.c @@ -122,7 +122,8 @@ static int OpenPostproc( filter_t *p_filter ) const char *desc; int i_flags = PP_CPU_CAPS_AUTO; - if( p_filter->fmt_in.video.i_chroma != p_filter->fmt_out.video.i_chroma || + if( !video_format_IsSameChroma( &p_filter->fmt_in.video, + &p_filter->fmt_out.video ) || p_filter->fmt_in.video.i_height != p_filter->fmt_out.video.i_height || p_filter->fmt_in.video.i_width != p_filter->fmt_out.video.i_width ) { diff --git a/modules/video_filter/rotate.c b/modules/video_filter/rotate.c index bc80ce2caa..900b69f36b 100644 --- a/modules/video_filter/rotate.c +++ b/modules/video_filter/rotate.c @@ -117,7 +117,8 @@ static int Create( filter_t *p_filter ) { filter_sys_t *p_sys; - if( p_filter->fmt_in.video.i_chroma != p_filter->fmt_out.video.i_chroma ) + if( !video_format_IsSameChroma( &p_filter->fmt_in.video, + &p_filter->fmt_out.video ) ) { msg_Err( p_filter, "Input and output chromas don't match" ); return VLC_EGENERIC; diff --git a/modules/video_filter/scale.c b/modules/video_filter/scale.c index e6580020a8..4ec10045f9 100644 --- a/modules/video_filter/scale.c +++ b/modules/video_filter/scale.c @@ -62,7 +62,8 @@ static int OpenFilter( filter_t *p_filter ) p_filter->fmt_in.video.i_chroma != VLC_CODEC_ARGB && p_filter->fmt_in.video.i_chroma != VLC_CODEC_BGRA && p_filter->fmt_in.video.i_chroma != VLC_CODEC_ABGR ) || - p_filter->fmt_in.video.i_chroma != p_filter->fmt_out.video.i_chroma ) + !video_format_IsSameChroma( &p_filter->fmt_in.video, + &p_filter->fmt_out.video ) ) { return VLC_EGENERIC; }