This is an automated email from the git hooks/post-receive script.
Git pushed a commit to branch master
in repository ffmpeg.
The following commit(s) were added to refs/heads/master by this push:
new c55ab93eef avcodec/x86/h264_intrapred: Replace
pred8x8_horizontal_8_mmxext with SSE2
c55ab93eef is described below
commit c55ab93eef7852e2b77f80da0243823aedf41591
Author: Zuxy Meng <[email protected]>
AuthorDate: Mon Apr 13 14:38:18 2026 -0700
Commit: Zuxy Meng <[email protected]>
CommitDate: Mon Apr 27 20:31:20 2026 -0700
avcodec/x86/h264_intrapred: Replace pred8x8_horizontal_8_mmxext with SSE2
Deprecating MMX. Instruction count unchanged.
Signed-off-by: Zuxy Meng <[email protected]>
---
libavcodec/x86/h264_intrapred.asm | 10 +++++-----
libavcodec/x86/h264_intrapred_init.c | 5 ++---
2 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/libavcodec/x86/h264_intrapred.asm
b/libavcodec/x86/h264_intrapred.asm
index b1c5ffa50d..6cf01a228a 100644
--- a/libavcodec/x86/h264_intrapred.asm
+++ b/libavcodec/x86/h264_intrapred.asm
@@ -584,7 +584,7 @@ cglobal pred8x8_vertical_8, 2,2
;-----------------------------------------------------------------------------
%macro PRED8x8_H 0
-cglobal pred8x8_horizontal_8, 2,3
+cglobal pred8x8_horizontal_8, 2,3,3
mov r2, 4
%if cpuflag(ssse3)
mova m2, [pb_3]
@@ -592,17 +592,17 @@ cglobal pred8x8_horizontal_8, 2,3
.loop:
SPLATB_LOAD m0, r0+r1*0-1, m2
SPLATB_LOAD m1, r0+r1*1-1, m2
- mova [r0+r1*0], m0
- mova [r0+r1*1], m1
+ movq [r0+r1*0], m0
+ movq [r0+r1*1], m1
lea r0, [r0+r1*2]
dec r2
jg .loop
RET
%endmacro
-INIT_MMX mmxext
+INIT_XMM sse2
PRED8x8_H
-INIT_MMX ssse3
+INIT_XMM ssse3
PRED8x8_H
;-----------------------------------------------------------------------------
diff --git a/libavcodec/x86/h264_intrapred_init.c
b/libavcodec/x86/h264_intrapred_init.c
index 44dd0cbde4..697ce1af08 100644
--- a/libavcodec/x86/h264_intrapred_init.c
+++ b/libavcodec/x86/h264_intrapred_init.c
@@ -117,7 +117,7 @@ PRED8x8(top_dc, 8, sse2)
PRED8x8(dc_rv40, 8, mmxext)
PRED8x8(dc, 8, sse2)
PRED8x8(vertical, 8, sse2)
-PRED8x8(horizontal, 8, mmxext)
+PRED8x8(horizontal, 8, sse2)
PRED8x8(horizontal, 8, ssse3)
PRED8x8(plane, 8, sse2)
PRED8x8(plane, 8, ssse3)
@@ -164,8 +164,6 @@ av_cold void ff_h264_pred_init_x86(H264PredContext *h, int
codec_id,
if (bit_depth == 8) {
if (EXTERNAL_MMXEXT(cpu_flags)) {
- if (chroma_format_idc <= 1)
- h->pred8x8[HOR_PRED8x8 ] =
ff_pred8x8_horizontal_8_mmxext;
h->pred8x8l [TOP_DC_PRED ] =
ff_pred8x8l_top_dc_8_mmxext;
h->pred8x8l [DC_PRED ] = ff_pred8x8l_dc_8_mmxext;
h->pred8x8l [HOR_PRED ] =
ff_pred8x8l_horizontal_8_mmxext;
@@ -205,6 +203,7 @@ av_cold void ff_h264_pred_init_x86(H264PredContext *h, int
codec_id,
h->pred8x8l [VERT_LEFT_PRED ] =
ff_pred8x8l_vertical_left_8_sse2;
h->pred8x8l [HOR_DOWN_PRED ] =
ff_pred8x8l_horizontal_down_8_sse2;
if (chroma_format_idc <= 1) {
+ h->pred8x8 [HOR_PRED8x8 ] = ff_pred8x8_horizontal_8_sse2;
h->pred8x8 [VERT_PRED8x8 ] = ff_pred8x8_vertical_8_sse2;
if (codec_id == AV_CODEC_ID_SVQ3 || codec_id ==
AV_CODEC_ID_H264) {
h->pred8x8 [TOP_DC_PRED8x8] = ff_pred8x8_top_dc_8_sse2;
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]