[FFmpeg-cvslog] Revert "checkasm: Test more h264 idct variants"

Martin Storsjö git at videolan.org
Sat Nov 11 18:56:41 EET 2017


ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Sat Sep  2 22:22:59 2017 +0300| [e12f1cd616573795681ce939113ac6cdad4c1f2b] | committer: Martin Storsjö

Revert "checkasm: Test more h264 idct variants"

This reverts commit 547db1eaecd597031165a2bf637acaaacde52788.

This commit wasn't supposed to be pushed (yet) since it hasn't
been reviewed.

Signed-off-by: Martin Storsjö <martin at martin.st>

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

 tests/checkasm/h264dsp.c | 90 +-----------------------------------------------
 1 file changed, 1 insertion(+), 89 deletions(-)

diff --git a/tests/checkasm/h264dsp.c b/tests/checkasm/h264dsp.c
index 8ce7c9332c..c9ddd52a7f 100644
--- a/tests/checkasm/h264dsp.c
+++ b/tests/checkasm/h264dsp.c
@@ -22,7 +22,6 @@
 #include "checkasm.h"
 #include "libavcodec/avcodec.h"
 #include "libavcodec/h264dsp.h"
-#include "libavcodec/h264data.h"
 #include "libavutil/common.h"
 #include "libavutil/internal.h"
 #include "libavutil/intreadwrite.h"
@@ -224,97 +223,10 @@ static void check_idct(void)
             }
         }
     }
-}
-
-static void check_idct_multiple(void)
-{
-    LOCAL_ALIGNED_16(uint8_t, dst_full,   [16 * 16 * 2]);
-    LOCAL_ALIGNED_16(int16_t, coef_full,  [16 * 16 * 2]);
-    LOCAL_ALIGNED_16(uint8_t, dst0, [16 * 16 * 2]);
-    LOCAL_ALIGNED_16(uint8_t, dst1, [16 * 16 * 2]);
-    LOCAL_ALIGNED_16(int16_t, coef0, [16 * 16 * 2]);
-    LOCAL_ALIGNED_16(int16_t, coef1, [16 * 16 * 2]);
-    LOCAL_ALIGNED_16(uint8_t, nnzc, [15*8]);
-    H264DSPContext h;
-    int bit_depth, i, y, func;
-    declare_func_emms(AV_CPU_FLAG_MMX, void, uint8_t *dst, const int *block_offset, int16_t *block, int stride, const uint8_t nnzc[15*8]);
-
-    for (bit_depth = 8; bit_depth <= 10; bit_depth++) {
-        ff_h264dsp_init(&h, bit_depth, 1);
-        for (func = 0; func < 3; func++) {
-            void (*idct)(uint8_t *, const int *, int16_t *, int, const uint8_t[]) = NULL;
-            const char *name;
-            int sz = 4, intra = 0;
-            int block_offset[16] = { 0 };
-            switch (func) {
-            case 0:
-                idct = h.h264_idct_add16;
-                name = "h264_idct_add16";
-                break;
-            case 1:
-                idct = h.h264_idct_add16intra;
-                name = "h264_idct_add16intra";
-                intra = 1;
-                break;
-            case 2:
-                idct = h.h264_idct8_add4;
-                name = "h264_idct8_add4";
-                sz = 8;
-                break;
-            }
-            memset(nnzc, 0, 15 * 8);
-            memset(coef_full, 0, 16 * 16 * SIZEOF_COEF);
-            for (i = 0; i < 16 * 16; i += sz * sz) {
-                uint8_t src[8 * 8 * 2];
-                uint8_t dst[8 * 8 * 2];
-                int16_t coef[8 * 8 * 2];
-                int index = i / sz;
-                int block_y = (index / 16) * sz;
-                int block_x = index % 16;
-                int offset = (block_y * 16 + block_x) * SIZEOF_PIXEL;
-                int nnz = rnd() % 3;
-
-                randomize_buffers();
-                if (sz == 4)
-                    dct4x4(coef, bit_depth);
-                else
-                    dct8x8(coef, bit_depth);
-
-                for (y = 0; y < sz; y++)
-                    memcpy(&dst_full[offset + y * 16 * SIZEOF_PIXEL],
-                           &dst[PIXEL_STRIDE * y], sz * SIZEOF_PIXEL);
-
-                if (nnz > 1)
-                    nnz = sz*sz;
-                memcpy(&coef_full[i*SIZEOF_COEF/sizeof(coef[0])],
-                       coef, nnz * SIZEOF_COEF);
-
-                if (intra && nnz == 1)
-                    nnz = 0;
-
-                nnzc[scan8[i / 16]] = nnz;
-                block_offset[i / 16] = offset;
-            }
-
-            if (check_func(idct, "%s_%dbpp", name, bit_depth)) {
-                memcpy(coef0, coef_full, 16 * 16 * SIZEOF_COEF);
-                memcpy(coef1, coef_full, 16 * 16 * SIZEOF_COEF);
-                memcpy(dst0, dst_full, 16 * 16 * SIZEOF_PIXEL);
-                memcpy(dst1, dst_full, 16 * 16 * SIZEOF_PIXEL);
-                call_ref(dst0, block_offset, coef0, 16 * SIZEOF_PIXEL, nnzc);
-                call_new(dst1, block_offset, coef1, 16 * SIZEOF_PIXEL, nnzc);
-                if (memcmp(dst0, dst1, 16 * 16 * SIZEOF_PIXEL) ||
-                    memcmp(coef0, coef1, 16 * 16 * SIZEOF_COEF))
-                    fail();
-                bench_new(dst1, block_offset, coef1, 16 * SIZEOF_PIXEL, nnzc);
-            }
-        }
-    }
+    report("idct");
 }
 
 void checkasm_check_h264dsp(void)
 {
     check_idct();
-    check_idct_multiple();
-    report("idct");
 }



More information about the ffmpeg-cvslog mailing list