From 0f6fc8660e32a69c406cba44cf31df6f7a7543d2 Mon Sep 17 00:00:00 2001 From: Mans Rullgard Date: Sat, 9 Jul 2011 11:03:01 +0100 Subject: 9/10-bit: simplify clipping macros Signed-off-by: Mans Rullgard --- libavcodec/bit_depth_template.c | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) (limited to 'libavcodec/bit_depth_template.c') diff --git a/libavcodec/bit_depth_template.c b/libavcodec/bit_depth_template.c index c0a6eafe89..4da0a6e0c9 100644 --- a/libavcodec/bit_depth_template.c +++ b/libavcodec/bit_depth_template.c @@ -43,15 +43,6 @@ # undef PIXEL_SPLAT_X4 #else # define AVCODEC_H264_HIGH_DEPTH_H -# define CLIP_PIXEL(depth)\ - static inline uint16_t av_clip_pixel_ ## depth (int p)\ - {\ - const int pixel_max = (1 << depth)-1;\ - return (p & ~pixel_max) ? (-p)>>31 & pixel_max : p;\ - } - -CLIP_PIXEL( 9) -CLIP_PIXEL(10) #endif #if BIT_DEPTH > 8 @@ -70,6 +61,9 @@ CLIP_PIXEL(10) # define AV_WN4P AV_WN64 # define AV_WN4PA AV_WN64A # define PIXEL_SPLAT_X4(x) ((x)*0x0001000100010001ULL) + +# define av_clip_pixel(a) av_clip_uintp2(a, BIT_DEPTH) +# define CLIP(a) av_clip_uintp2(a, BIT_DEPTH) #else # define pixel uint8_t # define pixel2 uint16_t @@ -86,21 +80,18 @@ CLIP_PIXEL(10) # define AV_WN4P AV_WN32 # define AV_WN4PA AV_WN32A # define PIXEL_SPLAT_X4(x) ((x)*0x01010101U) -#endif -#if BIT_DEPTH == 8 # define av_clip_pixel(a) av_clip_uint8(a) # define CLIP(a) cm[a] +#endif + +#if BIT_DEPTH == 8 # define FUNC(a) a ## _8 # define FUNCC(a) a ## _8_c #elif BIT_DEPTH == 9 -# define av_clip_pixel(a) av_clip_pixel_9(a) -# define CLIP(a) av_clip_pixel_9(a) # define FUNC(a) a ## _9 # define FUNCC(a) a ## _9_c #elif BIT_DEPTH == 10 -# define av_clip_pixel(a) av_clip_pixel_10(a) -# define CLIP(a) av_clip_pixel_10(a) # define FUNC(a) a ## _10 # define FUNCC(a) a ## _10_c #endif -- cgit v1.2.3