[FFmpeg-cvslog] x86: Don't hardcode the height to 8 in sad8_xy2_mmx

Martin Storsjö git at videolan.org
Wed Aug 17 00:02:47 EEST 2022


ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Wed Jul 13 23:39:40 2022 +0300| [dc55e6357818e21e26afbcdfdf2dd7368ec0e8fd] | committer: Martin Storsjö

x86: Don't hardcode the height to 8 in sad8_xy2_mmx

The height is hardcoded in some of the me_cmp functions, but not
in all of them. But in the case of all other functions, it's hardcoded
in the same place in SIMD functions as in the C reference functions,
while this one function differs from the behaviour of the C code.

(Before 542765ce3eccbca587d54262a512cbdb1407230d, there were a
couple other sad8_*_mmx functions with similar hardcoded height.)

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

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

 libavcodec/x86/me_cmp_init.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/libavcodec/x86/me_cmp_init.c b/libavcodec/x86/me_cmp_init.c
index f140381c98..bc1051c27e 100644
--- a/libavcodec/x86/me_cmp_init.c
+++ b/libavcodec/x86/me_cmp_init.c
@@ -202,13 +202,12 @@ static inline int sum_mmx(void)
 static int sad8_xy2_ ## suf(MpegEncContext *v, const uint8_t *blk2,     \
                             const uint8_t *blk1, ptrdiff_t stride, int h) \
 {                                                                       \
-    av_assert2(h == 8);                                                     \
     __asm__ volatile (                                                  \
         "pxor %%mm7, %%mm7     \n\t"                                    \
         "pxor %%mm6, %%mm6     \n\t"                                    \
         ::);                                                            \
                                                                         \
-    sad8_4_ ## suf(blk1, blk2, stride, 8);                              \
+    sad8_4_ ## suf(blk1, blk2, stride, h);                              \
                                                                         \
     return sum_ ## suf();                                               \
 }                                                                       \



More information about the ffmpeg-cvslog mailing list