checkasm/vvc_alf: ensure right and bottom boundaries are not overwritten by asm

This commit is contained in:
Nuo Mi 2024-06-22 11:34:11 +08:00
parent 6b0e6a98b5
commit 0333b97414

View File

@ -108,8 +108,8 @@ static void check_alf_filter(VVCDSPContext *c, const int bit_depth)
memset(dst1, 0, DST_BUF_SIZE);
call_ref(dst0, dst_stride, src0 + offset, src_stride, w, h, filter, clip, vb_pos);
call_new(dst1, dst_stride, src1 + offset, src_stride, w, h, filter, clip, vb_pos);
for (int i = 0; i < h; i++) {
if (memcmp(dst0 + i * dst_stride, dst1 + i * dst_stride, w * SIZEOF_PIXEL))
for (int i = 0; i < (h + 1); i++) {
if (memcmp(dst0 + i * dst_stride, dst1 + i * dst_stride, (w + 1) * SIZEOF_PIXEL))
fail();
}
// Bench only square sizes, and ones with dimensions being a power of two.
@ -125,8 +125,8 @@ static void check_alf_filter(VVCDSPContext *c, const int bit_depth)
memset(dst1, 0, DST_BUF_SIZE);
call_ref(dst0, dst_stride, src0 + offset, src_stride, w, h, filter, clip, vb_pos);
call_new(dst1, dst_stride, src1 + offset, src_stride, w, h, filter, clip, vb_pos);
for (int i = 0; i < h; i++) {
if (memcmp(dst0 + i * dst_stride, dst1 + i * dst_stride, w * SIZEOF_PIXEL))
for (int i = 0; i < (h + 1); i++) {
if (memcmp(dst0 + i * dst_stride, dst1 + i * dst_stride, (w + 1) * SIZEOF_PIXEL))
fail();
}
if (w == h && (w & (w - 1)) == 0)