On Mon, Sep 15, 2014 at 11:24 PM, Diego Biurrun <[email protected]> wrote:
> (cherry picked from commit fe07c9c6b5a870b8f2ffcfac649228b4d76e9505)
> Signed-off-by: Diego Biurrun <[email protected]>
>
> Conflicts:
>         libavcodec/x86/dsputil_mmx.c
> ---

ditto (imho)

> This was reported to break on the 0.8 branch by Mickulas.
>
>  libavcodec/x86/dsputil_mmx.c         | 3 ++-
>  libavcodec/x86/h264_intrapred_init.c | 3 ++-
>  libavcodec/x86/h264dsp_mmx.c         | 3 ++-
>  3 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/libavcodec/x86/dsputil_mmx.c b/libavcodec/x86/dsputil_mmx.c
> index e34b95b..81472bb 100644
> --- a/libavcodec/x86/dsputil_mmx.c
> +++ b/libavcodec/x86/dsputil_mmx.c
> @@ -2683,7 +2683,8 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext 
> *avctx)
>              c->add_hfyu_median_prediction = 
> ff_add_hfyu_median_prediction_mmx2;
>  #endif
>  #if HAVE_7REGS
> -            if (HAVE_AMD3DNOW && (mm_flags & AV_CPU_FLAG_3DNOW))
> +            if (HAVE_AMD3DNOW && (mm_flags & AV_CPU_FLAG_3DNOW) &&
> +                (mm_flags & AV_CPU_FLAG_CMOV))
>                  c->add_hfyu_median_prediction = 
> add_hfyu_median_prediction_cmov;
>  #endif
>
> diff --git a/libavcodec/x86/h264_intrapred_init.c 
> b/libavcodec/x86/h264_intrapred_init.c
> index 223dbde..70a4c1e 100644
> --- a/libavcodec/x86/h264_intrapred_init.c
> +++ b/libavcodec/x86/h264_intrapred_init.c
> @@ -188,7 +188,8 @@ void ff_h264_pred_init_x86(H264PredContext *h, int 
> codec_id, const int bit_depth
>                  if (chroma_format_idc <= 1)
>                      h->pred8x8  [PLANE_PRED8x8] = ff_pred8x8_plane_mmx;
>                  if (codec_id == CODEC_ID_SVQ3) {
> -                    h->pred16x16[PLANE_PRED8x8] = 
> ff_pred16x16_plane_svq3_mmx;
> +                    if (mm_flags & AV_CPU_FLAG_CMOV)
> +                        h->pred16x16[PLANE_PRED8x8] = 
> ff_pred16x16_plane_svq3_mmx;
>                  } else if (codec_id == CODEC_ID_RV40) {
>                      h->pred16x16[PLANE_PRED8x8] = 
> ff_pred16x16_plane_rv40_mmx;
>                  } else {
> diff --git a/libavcodec/x86/h264dsp_mmx.c b/libavcodec/x86/h264dsp_mmx.c
> index f5ae4dc..19b3a4b 100644
> --- a/libavcodec/x86/h264dsp_mmx.c
> +++ b/libavcodec/x86/h264dsp_mmx.c
> @@ -361,7 +361,8 @@ void ff_h264dsp_init_x86(H264DSPContext *c, const int 
> bit_depth, const int chrom
>          if (chroma_format_idc <= 1)
>              c->h264_idct_add8       = ff_h264_idct_add8_8_mmx;
>          c->h264_idct_add16intra     = ff_h264_idct_add16intra_8_mmx;
> -        c->h264_luma_dc_dequant_idct= ff_h264_luma_dc_dequant_idct_mmx;
> +        if (mm_flags & AV_CPU_FLAG_CMOV)
> +            c->h264_luma_dc_dequant_idct = ff_h264_luma_dc_dequant_idct_mmx;
>
>          if (mm_flags & AV_CPU_FLAG_MMX2) {
>              c->h264_idct_dc_add    = ff_h264_idct_dc_add_8_mmx2;

Probably ok if they work.
-- 
Vittorio
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to