On Wed, Jun 20, 2012 at 10:32 AM, Diego Biurrun <di...@biurrun.de> wrote:

> ---
>  libavcodec/x86/h264_intrapred_init.c |    6 +++---
>  libavcodec/x86/h264dsp_mmx.c         |    2 +-
>  2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/libavcodec/x86/h264_intrapred_init.c
> b/libavcodec/x86/h264_intrapred_init.c
> index 558bb86..69de86e 100644
> --- a/libavcodec/x86/h264_intrapred_init.c
> +++ b/libavcodec/x86/h264_intrapred_init.c
> @@ -188,9 +188,9 @@ void ff_h264_pred_init_x86(H264PredContext *h, int
> codec_id, const int bit_depth
>             } else {
>                 if (chroma_format_idc == 1)
>                     h->pred8x8  [PLANE_PRED8x8] = ff_pred8x8_plane_mmx;
> -                if (codec_id == CODEC_ID_SVQ3) {
> -                    if (HAVE_CMOV)
> -                        h->pred16x16[PLANE_PRED8x8] =
> ff_pred16x16_plane_svq3_mmx;
> +                if (codec_id == CODEC_ID_SVQ3 &&
> +                    HAVE_CMOV && 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 {
>

This seems wrong.
Before this patch, it would stick to the C version for SVQ3 if no CMOV is
available (it would enter the "if codec == SVQ3" branch and then do
nothing), after the patch it'll use the H264 MMX version (the else branch),
which i assume produces different results?


> diff --git a/libavcodec/x86/h264dsp_mmx.c b/libavcodec/x86/h264dsp_mmx.c
> index 64b7d9c..07135d0 100644
> --- a/libavcodec/x86/h264dsp_mmx.c
> +++ b/libavcodec/x86/h264dsp_mmx.c
> @@ -362,7 +362,7 @@ 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;
> -        if (HAVE_CMOV)
> +        if (HAVE_CMOV && 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) {
> --
> 1.7.2.5
>
> _______________________________________________
> libav-devel mailing list
> libav-devel@libav.org
> https://lists.libav.org/mailman/listinfo/libav-devel
>
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to