diff options
author | Mans Rullgard <mans@mansr.com> | 2011-07-09 11:03:01 +0100 |
---|---|---|
committer | Mans Rullgard <mans@mansr.com> | 2011-07-10 17:54:41 +0100 |
commit | 0f6fc8660e32a69c406cba44cf31df6f7a7543d2 (patch) | |
tree | a96ab88eb3278df94075e09f6cf4cb185f18bed0 | |
parent | f47ac3c6ca966d72b2966495958184b524d001f7 (diff) | |
download | ffmpeg-0f6fc8660e32a69c406cba44cf31df6f7a7543d2.tar.gz |
9/10-bit: simplify clipping macros
Signed-off-by: Mans Rullgard <mans@mansr.com>
-rw-r--r-- | libavcodec/bit_depth_template.c | 21 |
1 files changed, 6 insertions, 15 deletions
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 |