[FFmpeg-cvslog] Merge commit 'effc1430b2fe5997d9d55bf28dc507c27125eb27'
James Almer
git at videolan.org
Tue Apr 4 21:32:00 EEST 2017
ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Tue Apr 4 15:26:18 2017 -0300| [6747fc436e05c4005d0612a275c996c72b7c2736] | committer: James Almer
Merge commit 'effc1430b2fe5997d9d55bf28dc507c27125eb27'
* commit 'effc1430b2fe5997d9d55bf28dc507c27125eb27':
Revert "checkasm: vp9dsp: Benchmark the dc-only version of idct_idct separately"
Merged-by: James Almer <jamrial at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6747fc436e05c4005d0612a275c996c72b7c2736
---
tests/checkasm/vp9dsp.c | 6 ------
1 file changed, 6 deletions(-)
diff --git a/tests/checkasm/vp9dsp.c b/tests/checkasm/vp9dsp.c
index 337ab21..a91577b 100644
--- a/tests/checkasm/vp9dsp.c
+++ b/tests/checkasm/vp9dsp.c
@@ -368,12 +368,6 @@ static void check_itxfm(void)
bench_new(dst, sz * SIZEOF_PIXEL, coef, eob);
}
}
- if (txtp == 0 && tx != 4) {
- if (check_func(dsp.itxfm_add[tx][txtp], "vp9_inv_%s_%dx%d_dc_add_%d",
- txtp_types[txtp], sz, sz, bit_depth)) {
- bench_new(dst, sz * SIZEOF_PIXEL, coef, 1);
- }
- }
}
}
}
======================================================================
diff --cc tests/checkasm/vp9dsp.c
index 337ab21,690e0cf..a91577b
--- a/tests/checkasm/vp9dsp.c
+++ b/tests/checkasm/vp9dsp.c
@@@ -323,57 -262,40 +323,51 @@@ static void check_itxfm(void
[ADST_DCT] = "dct_adst", [ADST_ADST] = "adst_adst"
};
- ff_vp9dsp_init(&dsp);
-
- for (tx = TX_4X4; tx <= N_TXFM_SIZES /* 4 = lossless */; tx++) {
- int sz = 4 << (tx & 3);
- 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) {
- int eob;
+ for (bit_depth = 8; bit_depth <= 12; bit_depth += 2) {
+ ff_vp9dsp_init(&dsp, bit_depth, 0);
+
+ for (tx = TX_4X4; tx <= N_TXFM_SIZES /* 4 = lossless */; tx++) {
+ int sz = 4 << (tx & 3);
+ int n_txtps = tx < TX_32X32 ? N_TXFM_TYPES : 1;
+
+ for (txtp = 0; txtp < n_txtps; txtp++) {
+ // 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. Test sub=1 for dc-only, then 2, 4, 8, 12, etc,
+ // since the arm version can distinguish them at that level.
+ for (sub = (txtp == 0 && tx < 4) ? 1 : sz; sub <= sz;
+ sub < 4 ? (sub <<= 1) : (sub += 4)) {
+ if (check_func(dsp.itxfm_add[tx][txtp],
+ "vp9_inv_%s_%dx%d_sub%d_add_%d",
+ tx == 4 ? "wht_wht" : txtp_types[txtp],
+ sz, sz, sub, bit_depth)) {
+ 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);
+ } else {
+ eob = sz * sz;
+ memcpy(subcoef0, coef, sz * sz * SIZEOF_COEF);
+ }
- if (sub < sz) {
- eob = copy_subcoefs(subcoef0, coef, tx, txtp,
- sz, sub, BIT_DEPTH);
- } else {
- eob = sz * sz;
- memcpy(subcoef0, coef, sz * sz * SIZEOF_COEF);
+ memcpy(dst0, dst, sz * sz * SIZEOF_PIXEL);
+ memcpy(dst1, dst, sz * sz * SIZEOF_PIXEL);
+ memcpy(subcoef1, subcoef0, sz * sz * SIZEOF_COEF);
+ call_ref(dst0, sz * SIZEOF_PIXEL, subcoef0, eob);
+ call_new(dst1, sz * SIZEOF_PIXEL, subcoef1, eob);
+ if (memcmp(dst0, dst1, sz * sz * SIZEOF_PIXEL) ||
+ !iszero(subcoef0, sz * sz * SIZEOF_COEF) ||
+ !iszero(subcoef1, sz * sz * SIZEOF_COEF))
+ fail();
+
+ bench_new(dst, sz * SIZEOF_PIXEL, coef, eob);
}
-
- memcpy(dst0, dst, sz * sz * SIZEOF_PIXEL);
- memcpy(dst1, dst, sz * sz * SIZEOF_PIXEL);
- memcpy(subcoef1, subcoef0, sz * sz * SIZEOF_COEF);
- call_ref(dst0, sz * SIZEOF_PIXEL, subcoef0, eob);
- call_new(dst1, sz * SIZEOF_PIXEL, subcoef1, eob);
- if (memcmp(dst0, dst1, sz * sz * SIZEOF_PIXEL) ||
- !iszero(subcoef0, sz * sz * SIZEOF_COEF) ||
- !iszero(subcoef1, sz * sz * SIZEOF_COEF))
- fail();
}
- if (txtp == 0 && tx != 4) {
- if (check_func(dsp.itxfm_add[tx][txtp], "vp9_inv_%s_%dx%d_dc_add_%d",
- txtp_types[txtp], sz, sz, bit_depth)) {
- bench_new(dst, sz * SIZEOF_PIXEL, coef, 1);
- }
- }
- bench_new(dst, sz * SIZEOF_PIXEL, coef, sz * sz);
}
}
}
More information about the ffmpeg-cvslog
mailing list