[FFmpeg-cvslog] 9/10-bit: simplify clipping macros

Mans Rullgard git at videolan.org
Mon Jul 11 05:52:41 CEST 2011


ffmpeg | branch: master | Mans Rullgard <mans at mansr.com> | Sat Jul  9 11:03:01 2011 +0100| [0f6fc8660e32a69c406cba44cf31df6f7a7543d2] | committer: Mans Rullgard

9/10-bit: simplify clipping macros

Signed-off-by: Mans Rullgard <mans at mansr.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0f6fc8660e32a69c406cba44cf31df6f7a7543d2
---

 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 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



More information about the ffmpeg-cvslog mailing list