[FFmpeg-cvslog] avcodec/vp9dsp: pass dconly bit as macro argument.

Clément Bœsch git at videolan.org
Fri Nov 22 23:27:07 CET 2013


ffmpeg | branch: master | Clément Bœsch <u at pkh.me> | Fri Nov 22 23:26:28 2013 +0100| [004f3b154b7c23662263f1ff118f69ff54e55013] | committer: Clément Bœsch

avcodec/vp9dsp: pass dconly bit as macro argument.

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

 libavcodec/vp9dsp.c |   22 ++++++++--------------
 1 file changed, 8 insertions(+), 14 deletions(-)

diff --git a/libavcodec/vp9dsp.c b/libavcodec/vp9dsp.c
index 2b111ad..203088c 100644
--- a/libavcodec/vp9dsp.c
+++ b/libavcodec/vp9dsp.c
@@ -853,13 +853,7 @@ static av_cold void vp9dsp_intrapred_init(VP9DSPContext *dsp)
 #undef init_intra_pred
 }
 
-#define has_dconly_idct_idct   1
-#define has_dconly_iadst_idct  0
-#define has_dconly_idct_iadst  0
-#define has_dconly_iadst_iadst 0
-#define has_dconly_iwht_iwht   0
-
-#define itxfm_wrapper(type_a, type_b, sz, bits) \
+#define itxfm_wrapper(type_a, type_b, sz, bits, has_dconly) \
 static void type_a##_##type_b##_##sz##x##sz##_add_c(uint8_t *dst, \
                                                     ptrdiff_t stride, \
                                                     int16_t *block, int eob) \
@@ -867,7 +861,7 @@ static void type_a##_##type_b##_##sz##x##sz##_add_c(uint8_t *dst, \
     int i, j; \
     int16_t tmp[sz * sz], out[sz]; \
 \
-    if (has_dconly_##type_a##_##type_b && eob == 1) { \
+    if (has_dconly && eob == 1) { \
         const int t  = (((block[0] * 11585 + (1 << 13)) >> 14) \
                                    * 11585 + (1 << 13)) >> 14; \
         block[0] = 0; \
@@ -897,10 +891,10 @@ static void type_a##_##type_b##_##sz##x##sz##_add_c(uint8_t *dst, \
 }
 
 #define itxfm_wrap(sz, bits) \
-itxfm_wrapper(idct,  idct,  sz, bits) \
-itxfm_wrapper(iadst, idct,  sz, bits) \
-itxfm_wrapper(idct,  iadst, sz, bits) \
-itxfm_wrapper(iadst, iadst, sz, bits)
+itxfm_wrapper(idct,  idct,  sz, bits, 1) \
+itxfm_wrapper(iadst, idct,  sz, bits, 0) \
+itxfm_wrapper(idct,  iadst, sz, bits, 0) \
+itxfm_wrapper(iadst, iadst, sz, bits, 0)
 
 #define IN(x) in[x * stride]
 
@@ -1419,7 +1413,7 @@ static av_always_inline void idct32_1d(const int16_t *in, ptrdiff_t stride,
     out[31] = t0   - t31;
 }
 
-itxfm_wrapper(idct, idct, 32, 6)
+itxfm_wrapper(idct, idct, 32, 6, 1)
 
 static av_always_inline void iwht4_1d(const int16_t *in, ptrdiff_t stride,
                                       int16_t *out, int pass)
@@ -1452,7 +1446,7 @@ static av_always_inline void iwht4_1d(const int16_t *in, ptrdiff_t stride,
     out[3] = t3;
 }
 
-itxfm_wrapper(iwht, iwht, 4, 0)
+itxfm_wrapper(iwht, iwht, 4, 0, 0)
 
 #undef IN
 #undef itxfm_wrapper



More information about the ffmpeg-cvslog mailing list