[FFmpeg-cvslog] checkasm: h264dsp: Avoid out of buffer writes when benchmarking

Martin Storsjö git at videolan.org
Tue May 21 19:22:57 EEST 2024


ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Tue May 21 14:03:07 2024 +0300| [6093367147b72c0f3c78a61597a3452f7f0e510e] | committer: Martin Storsjö

checkasm: h264dsp: Avoid out of buffer writes when benchmarking

The loop filters can write before the pointer given to them;
the actual test invocations correctly used an offset, while
the benchmark calls were lacking an offset. Therefore, when
running with benchmarking, these tests could have spurious
failures.

Signed-off-by: Martin Storsjö <martin at martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6093367147b72c0f3c78a61597a3452f7f0e510e
---

 tests/checkasm/h264dsp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/checkasm/h264dsp.c b/tests/checkasm/h264dsp.c
index 0cc1f32740..67b8dce53c 100644
--- a/tests/checkasm/h264dsp.c
+++ b/tests/checkasm/h264dsp.c
@@ -362,7 +362,7 @@ static void check_loop_filter(void)
                                 tc0[j][0], tc0[j][1], tc0[j][2], tc0[j][3]); \
                         fail();                                         \
                     }                                                   \
-                    bench_new(dst1, 32, alphas[j], betas[j], tc0[j]);   \
+                    bench_new(dst1 + off, 32, alphas[j], betas[j], tc0[j]);\
                 }                                                       \
             }                                                           \
         } while (0)
@@ -421,7 +421,7 @@ static void check_loop_filter_intra(void)
                                 j, alphas[j], betas[j]);                \
                         fail();                                         \
                     }                                                   \
-                    bench_new(dst1, 32, alphas[j], betas[j]);           \
+                    bench_new(dst1 + off, 32, alphas[j], betas[j]);     \
                 }                                                       \
             }                                                           \
         } while (0)



More information about the ffmpeg-cvslog mailing list