From 96b4e994b1920c76c7dc03dcaf533dd4f359bad1 Mon Sep 17 00:00:00 2001 From: Steve Lhomme Date: Wed, 4 Oct 2023 14:52:26 +0200 Subject: [PATCH] video_filter: group RGB+x and RGB+a switch cases As it's done for some other common chromas. --- modules/video_filter/filter_picture.h | 16 ++++++++++++++++ modules/video_filter/mirror.c | 19 +++---------------- modules/video_filter/posterize.c | 18 ++---------------- 3 files changed, 21 insertions(+), 32 deletions(-) diff --git a/modules/video_filter/filter_picture.h b/modules/video_filter/filter_picture.h index 8ce66a61e0..d6468d5cda 100644 --- a/modules/video_filter/filter_picture.h +++ b/modules/video_filter/filter_picture.h @@ -56,6 +56,22 @@ case VLC_CODEC_YUYV: \ case VLC_CODEC_YVYU: +#define CASE_PACKED_RGBX \ + case VLC_CODEC_RGBX: \ + case VLC_CODEC_XRGB: \ + case VLC_CODEC_BGRX: \ + case VLC_CODEC_XBGR: + +#define CASE_PACKED_RGBA \ + case VLC_CODEC_RGBA: \ + case VLC_CODEC_ARGB: \ + case VLC_CODEC_BGRA: \ + case VLC_CODEC_ABGR: + +#define CASE_PACKED_RGB32 \ + CASE_PACKED_RGBX \ + CASE_PACKED_RGBA + static inline int GetPackedYuvOffsets( vlc_fourcc_t i_chroma, int *i_y_offset, int *i_u_offset, int *i_v_offset ) { diff --git a/modules/video_filter/mirror.c b/modules/video_filter/mirror.c index b953bd0aee..0529a28918 100644 --- a/modules/video_filter/mirror.c +++ b/modules/video_filter/mirror.c @@ -120,16 +120,10 @@ static int Create( filter_t *p_filter ) break; CASE_PACKED_YUV_422 break; + CASE_PACKED_RGB32 + break; case VLC_CODEC_RGB24: case VLC_CODEC_BGR24: - case VLC_CODEC_RGBA: - case VLC_CODEC_ARGB: - case VLC_CODEC_BGRA: - case VLC_CODEC_ABGR: - case VLC_CODEC_RGBX: - case VLC_CODEC_XRGB: - case VLC_CODEC_BGRX: - case VLC_CODEC_XBGR: break; default: @@ -229,14 +223,7 @@ static void VerticalMirror( picture_t *p_pic, picture_t *p_outpic, int i_plane, case VLC_CODEC_BGR24: RV24VerticalMirror( p_pic, p_outpic, i_plane, b_left_to_right ); break; - case VLC_CODEC_RGBA: - case VLC_CODEC_ARGB: - case VLC_CODEC_BGRA: - case VLC_CODEC_ABGR: - case VLC_CODEC_RGBX: - case VLC_CODEC_XRGB: - case VLC_CODEC_BGRX: - case VLC_CODEC_XBGR: + CASE_PACKED_RGB32 RV32VerticalMirror( p_pic, p_outpic, i_plane, b_left_to_right ); break; default: diff --git a/modules/video_filter/posterize.c b/modules/video_filter/posterize.c index ba5fcd264d..f2cf926719 100644 --- a/modules/video_filter/posterize.c +++ b/modules/video_filter/posterize.c @@ -105,14 +105,7 @@ static int Create( filter_t *p_filter ) case VLC_CODEC_RGB24: case VLC_CODEC_BGR24: break; - case VLC_CODEC_RGBA: - case VLC_CODEC_ARGB: - case VLC_CODEC_BGRA: - case VLC_CODEC_ABGR: - case VLC_CODEC_RGBX: - case VLC_CODEC_XRGB: - case VLC_CODEC_BGRX: - case VLC_CODEC_XBGR: + CASE_PACKED_RGB32 break; default: msg_Err( p_filter, "Unsupported input chroma (%4.4s)", @@ -175,14 +168,7 @@ static void Filter( filter_t *p_filter, picture_t *p_pic, picture_t *p_outpic ) case VLC_CODEC_BGR24: RVPosterize( p_pic, p_outpic, false, level ); break; - case VLC_CODEC_RGBA: - case VLC_CODEC_ARGB: - case VLC_CODEC_BGRA: - case VLC_CODEC_ABGR: - case VLC_CODEC_RGBX: - case VLC_CODEC_XRGB: - case VLC_CODEC_BGRX: - case VLC_CODEC_XBGR: + CASE_PACKED_RGB32 RVPosterize( p_pic, p_outpic, true, level ); break; CASE_PLANAR_YUV_SQUARE