Browse Source

checkasm: vp9dsp: benchmark all sub-IDCTs (but not WHT or ADST).

Signed-off-by: Martin Storsjö <martin@martin.st>
tags/n3.4
Ronald S. Bultje Martin Storsjö 9 years ago
parent
commit
06fec74cac
1 changed files with 14 additions and 7 deletions
  1. +14
    -7
      tests/checkasm/vp9dsp.c

+ 14
- 7
tests/checkasm/vp9dsp.c View File

@@ -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);
}
}
}


Loading…
Cancel
Save