mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-02-04 06:08:26 +02:00
checkasm: vvc_alf: Limit benchmarking to a reasonable subset of functions
Don't benchmark every single combination of widths and heights; only benchmark cases which are squares (like in vvc_mc.c). Contrary to vvc_mc, which increases sizes by doubling dimensions, vvc_alf tests all sizes in increments of 4. Limit benchmarking to the cases which are powers of two. This reduces the number of benchmarked cases from 3072 down to 18.
This commit is contained in:
parent
b8eb8b4f19
commit
a9dc7dd7fd
@ -103,7 +103,9 @@ static void check_alf_filter(VVCDSPContext *c, const int bit_depth)
|
||||
if (memcmp(dst0 + i * dst_stride, dst1 + i * dst_stride, w * SIZEOF_PIXEL))
|
||||
fail();
|
||||
}
|
||||
bench_new(dst1, dst_stride, src1 + offset, src_stride, w, h, filter, clip, vb_pos);
|
||||
// Bench only square sizes, and ones with dimensions being a power of two.
|
||||
if (w == h && (w & (w - 1)) == 0)
|
||||
bench_new(dst1, dst_stride, src1 + offset, src_stride, w, h, filter, clip, vb_pos);
|
||||
}
|
||||
if (check_func(c->alf.filter[CHROMA], "vvc_alf_filter_chroma_%dx%d_%d", w, h, bit_depth)) {
|
||||
const int vb_pos = ctu_size - ALF_VB_POS_ABOVE_CHROMA;
|
||||
@ -115,7 +117,8 @@ static void check_alf_filter(VVCDSPContext *c, const int bit_depth)
|
||||
if (memcmp(dst0 + i * dst_stride, dst1 + i * dst_stride, w * SIZEOF_PIXEL))
|
||||
fail();
|
||||
}
|
||||
bench_new(dst1, dst_stride, src1 + offset, src_stride, w, h, filter, clip, vb_pos);
|
||||
if (w == h && (w & (w - 1)) == 0)
|
||||
bench_new(dst1, dst_stride, src1 + offset, src_stride, w, h, filter, clip, vb_pos);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -156,7 +159,9 @@ static void check_alf_classify(VVCDSPContext *c, const int bit_depth)
|
||||
fail();
|
||||
if (memcmp(transpose_idx0, transpose_idx1, id_size))
|
||||
fail();
|
||||
bench_new(class_idx1, transpose_idx1, src1 + offset, stride, w, h, vb_pos, alf_gradient_tmp);
|
||||
// Bench only square sizes, and ones with dimensions being a power of two.
|
||||
if (w == h && (w & (w - 1)) == 0)
|
||||
bench_new(class_idx1, transpose_idx1, src1 + offset, stride, w, h, vb_pos, alf_gradient_tmp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user