On Mon, Apr 20, 2026 at 7:57 PM Zuxy Meng <[email protected]> wrote:
>
> 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..8a6d572a11 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;
> --
> 2.43.0
>

Applied

-- 
Zuxy
Beauty is truth,
While truth is beauty.
PGP KeyID: E8555ED6
_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to