[FFmpeg-devel] [PATCH] avcodec/svq1enc: restrict Altivec acceleration to big-endian POWER configurations

Sean McGovern gseanmcg at gmail.com
Thu Jan 16 23:57:13 EET 2025


On Thu, Jan 16, 2025 at 4:30 PM Sean McGovern <gseanmcg at gmail.com> wrote:
>
> This was disabled in da60b99a8857d5ca236f32c1799a066e0135a866 and then
> accidentally re-enabled in 172b0e2e88832822632841e8e0d3794f974cbc93.
>
> The code in question was never properly adapted for litte-endian mode.

Woops! "little-endian".
If this is accepted, please feel free to fix the spelling here.

>
> refs: trac/10955
> ---
>  libavcodec/ppc/svq1enc_altivec.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/libavcodec/ppc/svq1enc_altivec.c b/libavcodec/ppc/svq1enc_altivec.c
> index 5721bede34..78c79a68dc 100644
> --- a/libavcodec/ppc/svq1enc_altivec.c
> +++ b/libavcodec/ppc/svq1enc_altivec.c
> @@ -29,7 +29,7 @@
>
>  #include "libavcodec/svq1encdsp.h"
>
> -#if HAVE_ALTIVEC
> +#if HAVE_ALTIVEC && HAVE_BIGENDIAN
>  static int ssd_int8_vs_int16_altivec(const int8_t *pix1, const int16_t *pix2,
>                                       intptr_t size)
>  {
> @@ -69,14 +69,14 @@ static int ssd_int8_vs_int16_altivec(const int8_t *pix1, const int16_t *pix2,
>
>      return u.score[3];
>  }
> -#endif /* HAVE_ALTIVEC */
> +#endif /* HAVE_ALTIVEC && HAVE_BIGENDIAN */
>
>  av_cold void ff_svq1enc_init_ppc(SVQ1EncDSPContext *c)
>  {
> -#if HAVE_ALTIVEC
> +#if HAVE_ALTIVEC && HAVE_BIGENDIAN
>      if (!PPC_ALTIVEC(av_get_cpu_flags()))
>          return;
>
>      c->ssd_int8_vs_int16 = ssd_int8_vs_int16_altivec;
> -#endif /* HAVE_ALTIVEC */
> +#endif /* HAVE_ALTIVEC && HAVE_BIGENDIAN */
>  }
> --
> 2.39.5
>


More information about the ffmpeg-devel mailing list