Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/videolan/dav1d.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorVictorien Le Couviour--Tuffet <victorien@videolan.org>2021-09-23 11:09:26 +0300
committerVictorien Le Couviour--Tuffet <victorien@videolan.org>2021-10-29 23:18:20 +0300
commit609fbaba84b8e15a25de9efbc8b14988be6df94d (patch)
tree2e39c4a0eb40ce94085ed7c8d8747683e14be927 /tests
parent8e6d5214a356dfc91c09468ac7473d8a66bf26cd (diff)
Allow CDEF and LR to run sbrows in parallel
Diffstat (limited to 'tests')
-rw-r--r--tests/checkasm/cdef.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/tests/checkasm/cdef.c b/tests/checkasm/cdef.c
index 7259e1a..833fa4b 100644
--- a/tests/checkasm/cdef.c
+++ b/tests/checkasm/cdef.c
@@ -56,12 +56,14 @@ static void check_cdef_filter(const cdef_fn fn, const int w, const int h) {
ALIGN_STK_64(pixel, c_src, 16 * 10 + 16, ), *const c_dst = c_src + 8;
ALIGN_STK_64(pixel, a_src, 16 * 10 + 16, ), *const a_dst = a_src + 8;
ALIGN_STK_64(pixel, top_buf, 16 * 2 + 16, ), *const top = top_buf + 8;
+ ALIGN_STK_64(pixel, bot_buf, 16 * 2 + 16, ), *const bot = bot_buf + 8;
ALIGN_STK_16(pixel, left, 8,[2]);
const ptrdiff_t stride = 16 * sizeof(pixel);
declare_func(void, pixel *dst, ptrdiff_t dst_stride, const pixel (*left)[2],
- const pixel *top, int pri_strength, int sec_strength,
- int dir, int damping, enum CdefEdgeFlags edges HIGHBD_DECL_SUFFIX);
+ const pixel *top, const pixel *bot, int pri_strength,
+ int sec_strength, int dir, int damping,
+ enum CdefEdgeFlags edges HIGHBD_DECL_SUFFIX);
if (check_func(fn, "cdef_filter_%dx%d_%dbpc", w, h, BITDEPTH)) {
for (int dir = 0; dir < 8; dir++) {
@@ -75,6 +77,7 @@ static void check_cdef_filter(const cdef_fn fn, const int w, const int h) {
init_tmp(c_src, 16 * 10 + 16, bitdepth_max);
init_tmp(top_buf, 16 * 2 + 16, bitdepth_max);
+ init_tmp(bot_buf, 16 * 2 + 16, bitdepth_max);
init_tmp((pixel *) left, 8 * 2, bitdepth_max);
memcpy(a_src, c_src, (16 * 10 + 16) * sizeof(pixel));
@@ -84,9 +87,9 @@ static void check_cdef_filter(const cdef_fn fn, const int w, const int h) {
int sec_strength = lvl & 3;
sec_strength += sec_strength == 3;
sec_strength <<= bitdepth_min_8;
- call_ref(c_dst, stride, left, top, pri_strength, sec_strength,
+ call_ref(c_dst, stride, left, top, bot, pri_strength, sec_strength,
dir, damping, edges HIGHBD_TAIL_SUFFIX);
- call_new(a_dst, stride, left, top, pri_strength, sec_strength,
+ call_new(a_dst, stride, left, top, bot, pri_strength, sec_strength,
dir, damping, edges HIGHBD_TAIL_SUFFIX);
if (checkasm_check_pixel(c_dst, stride, a_dst, stride, w, h, "dst")) {
fprintf(stderr, "strength = %d:%d, dir = %d, damping = %d, edges = %04d\n",
@@ -101,8 +104,8 @@ static void check_cdef_filter(const cdef_fn fn, const int w, const int h) {
*/
pri_strength = (edges & 1) << bitdepth_min_8;
sec_strength = (edges & 2) << bitdepth_min_8;
- bench_new(a_dst, stride, left, top, pri_strength, sec_strength,
- dir, damping, edges HIGHBD_TAIL_SUFFIX);
+ bench_new(a_dst, stride, left, top, bot, pri_strength,
+ sec_strength, dir, damping, edges HIGHBD_TAIL_SUFFIX);
}
}
}