aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorRémi Denis-Courmont <remi@remlab.net>2024-07-13 20:28:34 +0300
committerRémi Denis-Courmont <remi@remlab.net>2024-07-21 22:36:48 +0300
commitc4c811b3d92721dd14452a02d092ca220c9f6b8b (patch)
tree4625a0fedd3067eda06ce38a71bf54a32162321e /tests
parent73ca4e75eb0ae7d15965b90ffe7c041443a0421f (diff)
downloadffmpeg-c4c811b3d92721dd14452a02d092ca220c9f6b8b.tar.gz
checkasm/h264dsp: test TX bypass
Diffstat (limited to 'tests')
-rw-r--r--tests/checkasm/h264dsp.c37
1 files changed, 23 insertions, 14 deletions
diff --git a/tests/checkasm/h264dsp.c b/tests/checkasm/h264dsp.c
index 67b8dce53c..d1228ed985 100644
--- a/tests/checkasm/h264dsp.c
+++ b/tests/checkasm/h264dsp.c
@@ -188,23 +188,32 @@ static void check_idct(void)
for (i = 0; i < FF_ARRAY_ELEMS(depths); i++) {
bit_depth = depths[i];
ff_h264dsp_init(&h, bit_depth, 1);
- for (sz = 4; sz <= 8; sz += 4) {
- randomize_buffers(i);
- if (sz == 4)
- dct4x4(coef, bit_depth);
- else
- dct8x8(coef, bit_depth);
-
- for (dc = 0; dc <= 1; dc++) {
+ for (dc = 0; dc <= 2; dc++) {
+ for (sz = 4; sz <= 8; sz += 4) {
void (*idct)(uint8_t *, int16_t *, int) = NULL;
- switch ((sz << 1) | dc) {
- case (4 << 1) | 0: idct = h.h264_idct_add; break;
- case (4 << 1) | 1: idct = h.h264_idct_dc_add; break;
- case (8 << 1) | 0: idct = h.h264_idct8_add; break;
- case (8 << 1) | 1: idct = h.h264_idct8_dc_add; break;
+ const char fmts[3][28] = {
+ "h264_idct%d_add_%dbpp", "h264_idct%d_dc_add_%dbpp",
+ "h264_add_pixels%d_%dbpp",
+ };
+
+ randomize_buffers(i);
+
+ if (sz == 4)
+ dct4x4(coef, bit_depth);
+ else
+ dct8x8(coef, bit_depth);
+
+ switch ((sz << 2) | dc) {
+ case (4 << 2) | 0: idct = h.h264_idct_add; break;
+ case (4 << 2) | 1: idct = h.h264_idct_dc_add; break;
+ case (4 << 2) | 2: idct = h.h264_add_pixels4_clear; break;
+ case (8 << 2) | 0: idct = h.h264_idct8_add; break;
+ case (8 << 2) | 1: idct = h.h264_idct8_dc_add; break;
+ case (8 << 2) | 2: idct = h.h264_add_pixels8_clear; break;
}
- if (check_func(idct, "h264_idct%d_add%s_%dbpp", sz, dc ? "_dc" : "", bit_depth)) {
+
+ if (check_func(idct, fmts[dc], sz, bit_depth)) {
for (align = 0; align < 16; align += sz * SIZEOF_PIXEL) {
uint8_t *dst1 = dst1_base + align;
if (dc) {