From 06fec74cacbb0ef7f3e5ea0e6c9ced1b6fd7565d Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Fri, 18 Nov 2016 00:17:02 +0200 Subject: [PATCH] checkasm: vp9dsp: benchmark all sub-IDCTs (but not WHT or ADST). MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Martin Storsjö --- tests/checkasm/vp9dsp.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/tests/checkasm/vp9dsp.c b/tests/checkasm/vp9dsp.c index 690e0cf536d..25f9dd1f9d0 100644 --- a/tests/checkasm/vp9dsp.c +++ b/tests/checkasm/vp9dsp.c @@ -269,14 +269,20 @@ static void check_itxfm(void) int n_txtps = tx < TX_32X32 ? N_TXFM_TYPES : 1; for (txtp = 0; txtp < n_txtps; txtp++) { - if (check_func(dsp.itxfm_add[tx][txtp], "vp9_inv_%s_%dx%d_add", - tx == 4 ? "wht_wht" : txtp_types[txtp], sz, sz)) { - randomize_buffers(); - ftx(coef, tx, txtp, sz, BIT_DEPTH); - - for (sub = (txtp == 0) ? 1 : 2; sub <= sz; sub <<= 1) { + // skip testing sub-IDCTs for WHT or ADST since they don't + // implement it in any of the SIMD functions. If they do, + // consider changing this to ensure we have complete test + // coverage + for (sub = (txtp == 0 && tx < 4) ? 1 : sz; sub <= sz; sub <<= 1) { + if (check_func(dsp.itxfm_add[tx][txtp], + "vp9_inv_%s_%dx%d_sub%d_add", + tx == 4 ? "wht_wht" : txtp_types[txtp], + sz, sz, sub)) { int eob; + randomize_buffers(); + ftx(coef, tx, txtp, sz, BIT_DEPTH); + if (sub < sz) { eob = copy_subcoefs(subcoef0, coef, tx, txtp, sz, sub, BIT_DEPTH); @@ -294,8 +300,9 @@ static void check_itxfm(void) !iszero(subcoef0, sz * sz * SIZEOF_COEF) || !iszero(subcoef1, sz * sz * SIZEOF_COEF)) fail(); + + bench_new(dst, sz * SIZEOF_PIXEL, coef, eob); } - bench_new(dst, sz * SIZEOF_PIXEL, coef, sz * sz); } } } -- 2.39.5