From: Mans Rullgard Date: Sat, 9 Jul 2011 10:03:01 +0000 (+0100) Subject: 9/10-bit: simplify clipping macros X-Git-Tag: v0.8b1~2092 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0f6fc8660e32a69c406cba44cf31df6f7a7543d2;p=platform%2Fupstream%2Flibav.git 9/10-bit: simplify clipping macros Signed-off-by: Mans Rullgard --- diff --git a/libavcodec/bit_depth_template.c b/libavcodec/bit_depth_template.c index c0a6eaf..4da0a6e 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