Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 18 Jul 2013 07:53:47 +0000 (09:53 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 18 Jul 2013 07:53:47 +0000 (09:53 +0200)
* qatar/master:
  Consistently use "cpu_flags" as variable/parameter name for CPU flags

Conflicts:
libavcodec/x86/dsputil_init.c
libavcodec/x86/h264dsp_init.c
libavcodec/x86/hpeldsp_init.c
libavcodec/x86/motion_est.c
libavcodec/x86/mpegvideo.c
libavcodec/x86/proresdsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
30 files changed:
1  2 
libavcodec/ppc/hpeldsp_altivec.c
libavcodec/x86/ac3dsp_init.c
libavcodec/x86/cavsdsp.c
libavcodec/x86/dsputil_init.c
libavcodec/x86/dsputilenc_mmx.c
libavcodec/x86/fft_init.c
libavcodec/x86/fmtconvert_init.c
libavcodec/x86/h264_intrapred_init.c
libavcodec/x86/h264_qpel.c
libavcodec/x86/h264chroma_init.c
libavcodec/x86/h264dsp_init.c
libavcodec/x86/hpeldsp_init.c
libavcodec/x86/lpc.c
libavcodec/x86/motion_est.c
libavcodec/x86/mpegaudiodsp.c
libavcodec/x86/mpegvideo.c
libavcodec/x86/mpegvideoenc.c
libavcodec/x86/pngdsp_init.c
libavcodec/x86/proresdsp_init.c
libavcodec/x86/rv40dsp_init.c
libavcodec/x86/sbrdsp_init.c
libavcodec/x86/videodsp_init.c
libavcodec/x86/vorbisdsp_init.c
libavcodec/x86/vp3dsp_init.c
libavcodec/x86/vp56dsp_init.c
libavcodec/x86/vp8dsp_init.c
libavfilter/x86/af_volume_init.c
libavresample/x86/dither_init.c
libavutil/ppc/float_dsp_init.c
libavutil/x86/float_dsp_init.c

Simple merge
Simple merge
Simple merge
@@@ -565,8 -575,18 +565,8 @@@ static av_cold void dsputil_init_mmx(DS
  }
  
  static av_cold void dsputil_init_mmxext(DSPContext *c, AVCodecContext *avctx,
-                                         int mm_flags)
+                                         int cpu_flags)
  {
 -#if HAVE_MMXEXT_INLINE
 -    const int high_bit_depth = avctx->bits_per_raw_sample > 8;
 -
 -    if (!high_bit_depth && avctx->idct_algo == FF_IDCT_XVIDMMX) {
 -        c->idct_put = ff_idct_xvid_mmxext_put;
 -        c->idct_add = ff_idct_xvid_mmxext_add;
 -        c->idct     = ff_idct_xvid_mmxext;
 -    }
 -#endif /* HAVE_MMXEXT_INLINE */
 -
  #if HAVE_MMXEXT_EXTERNAL
      SET_QPEL_FUNCS(avg_qpel,        0, 16, mmxext, );
      SET_QPEL_FUNCS(avg_qpel,        1,  8, mmxext, );
@@@ -681,52 -695,23 +681,52 @@@ av_cold void ff_dsputil_init_mmx(DSPCon
          c->add_hfyu_median_prediction = ff_add_hfyu_median_prediction_cmov;
  #endif
  
-     if (mm_flags & AV_CPU_FLAG_MMX) {
 -    if (cpu_flags & AV_CPU_FLAG_MMX)
++    if (cpu_flags & AV_CPU_FLAG_MMX) {
 +#if HAVE_INLINE_ASM
 +        const int idct_algo = avctx->idct_algo;
 +
 +        if (avctx->lowres == 0 && avctx->bits_per_raw_sample <= 8) {
 +            if (idct_algo == FF_IDCT_AUTO || idct_algo == FF_IDCT_SIMPLEMMX) {
 +                c->idct_put              = ff_simple_idct_put_mmx;
 +                c->idct_add              = ff_simple_idct_add_mmx;
 +                c->idct                  = ff_simple_idct_mmx;
 +                c->idct_permutation_type = FF_SIMPLE_IDCT_PERM;
 +            } else if (idct_algo == FF_IDCT_XVIDMMX) {
-                 if (mm_flags & AV_CPU_FLAG_SSE2) {
++                if (cpu_flags & AV_CPU_FLAG_SSE2) {
 +                    c->idct_put              = ff_idct_xvid_sse2_put;
 +                    c->idct_add              = ff_idct_xvid_sse2_add;
 +                    c->idct                  = ff_idct_xvid_sse2;
 +                    c->idct_permutation_type = FF_SSE2_IDCT_PERM;
-                 } else if (mm_flags & AV_CPU_FLAG_MMXEXT) {
++                } else if (cpu_flags & AV_CPU_FLAG_MMXEXT) {
 +                    c->idct_put              = ff_idct_xvid_mmxext_put;
 +                    c->idct_add              = ff_idct_xvid_mmxext_add;
 +                    c->idct                  = ff_idct_xvid_mmxext;
 +                } else {
 +                    c->idct_put              = ff_idct_xvid_mmx_put;
 +                    c->idct_add              = ff_idct_xvid_mmx_add;
 +                    c->idct                  = ff_idct_xvid_mmx;
 +                }
 +            }
 +        }
 +#endif /* HAVE_INLINE_ASM */
 +
-         dsputil_init_mmx(c, avctx, mm_flags);
+         dsputil_init_mmx(c, avctx, cpu_flags);
 +    }
  
-     if (mm_flags & AV_CPU_FLAG_MMXEXT)
-         dsputil_init_mmxext(c, avctx, mm_flags);
+     if (cpu_flags & AV_CPU_FLAG_MMXEXT)
+         dsputil_init_mmxext(c, avctx, cpu_flags);
  
-     if (mm_flags & AV_CPU_FLAG_SSE)
-         dsputil_init_sse(c, avctx, mm_flags);
+     if (cpu_flags & AV_CPU_FLAG_SSE)
+         dsputil_init_sse(c, avctx, cpu_flags);
  
-     if (mm_flags & AV_CPU_FLAG_SSE2)
-         dsputil_init_sse2(c, avctx, mm_flags);
+     if (cpu_flags & AV_CPU_FLAG_SSE2)
+         dsputil_init_sse2(c, avctx, cpu_flags);
  
-     if (mm_flags & AV_CPU_FLAG_SSSE3)
-         dsputil_init_ssse3(c, avctx, mm_flags);
+     if (cpu_flags & AV_CPU_FLAG_SSSE3)
+         dsputil_init_ssse3(c, avctx, cpu_flags);
  
-     if (mm_flags & AV_CPU_FLAG_SSE4)
-         dsputil_init_sse4(c, avctx, mm_flags);
+     if (cpu_flags & AV_CPU_FLAG_SSE4)
+         dsputil_init_sse4(c, avctx, cpu_flags);
  
      if (CONFIG_ENCODERS)
          ff_dsputilenc_init_mmx(c, avctx);
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -211,10 -211,9 +211,10 @@@ H264_BIWEIGHT_10_SSE(4,  10
  av_cold void ff_h264dsp_init_x86(H264DSPContext *c, const int bit_depth,
                                   const int chroma_format_idc)
  {
-     int mm_flags = av_get_cpu_flags();
 +#if HAVE_YASM
+     int cpu_flags = av_get_cpu_flags();
  
-     if (chroma_format_idc == 1 && EXTERNAL_MMXEXT(mm_flags))
+     if (chroma_format_idc == 1 && EXTERNAL_MMXEXT(cpu_flags))
          c->h264_loop_filter_strength = ff_h264_loop_filter_strength_mmxext;
  
      if (bit_depth == 8) {
@@@ -252,17 -252,17 +252,17 @@@ static void hpeldsp_init_sse2(HpelDSPCo
  
  void ff_hpeldsp_init_x86(HpelDSPContext *c, int flags)
  {
-     int mm_flags = av_get_cpu_flags();
+     int cpu_flags = av_get_cpu_flags();
  
-     if (HAVE_MMX && mm_flags & AV_CPU_FLAG_MMX)
-         hpeldsp_init_mmx(c, flags, mm_flags);
 -    if (cpu_flags & AV_CPU_FLAG_MMX)
++    if (HAVE_MMX && cpu_flags & AV_CPU_FLAG_MMX)
+         hpeldsp_init_mmx(c, flags, cpu_flags);
  
-     if (mm_flags & AV_CPU_FLAG_MMXEXT)
-         hpeldsp_init_mmxext(c, flags, mm_flags);
+     if (cpu_flags & AV_CPU_FLAG_MMXEXT)
+         hpeldsp_init_mmxext(c, flags, cpu_flags);
  
-     if (mm_flags & AV_CPU_FLAG_3DNOW)
-         hpeldsp_init_3dnow(c, flags, mm_flags);
+     if (cpu_flags & AV_CPU_FLAG_3DNOW)
+         hpeldsp_init_3dnow(c, flags, cpu_flags);
  
-     if (mm_flags & AV_CPU_FLAG_SSE2)
-         hpeldsp_init_sse2(c, flags, mm_flags);
+     if (cpu_flags & AV_CPU_FLAG_SSE2)
+         hpeldsp_init_sse2(c, flags, cpu_flags);
  }
Simple merge
@@@ -466,7 -466,7 +466,7 @@@ av_cold void ff_dsputil_init_pix_mmx(DS
              c->pix_abs[1][3] = sad8_xy2_mmxext;
          }
      }
-     if ((mm_flags & AV_CPU_FLAG_SSE2) && !(mm_flags & AV_CPU_FLAG_3DNOW) && avctx->codec_id != AV_CODEC_ID_SNOW) {
 -    if ((cpu_flags & AV_CPU_FLAG_SSE2) && !(cpu_flags & AV_CPU_FLAG_3DNOW)) {
++    if ((cpu_flags & AV_CPU_FLAG_SSE2) && !(cpu_flags & AV_CPU_FLAG_3DNOW) && avctx->codec_id != AV_CODEC_ID_SNOW) {
          c->sad[0]= sad16_sse2;
      }
  #endif /* HAVE_INLINE_ASM */
Simple merge
@@@ -556,10 -556,10 +556,10 @@@ static void  denoise_dct_sse2(MpegEncCo
  
  av_cold void ff_MPV_common_init_x86(MpegEncContext *s)
  {
 -#if HAVE_INLINE_ASM
 +#if HAVE_MMX_INLINE
-     int mm_flags = av_get_cpu_flags();
+     int cpu_flags = av_get_cpu_flags();
  
-     if (mm_flags & AV_CPU_FLAG_MMX) {
+     if (cpu_flags & AV_CPU_FLAG_MMX) {
          s->dct_unquantize_h263_intra = dct_unquantize_h263_intra_mmx;
          s->dct_unquantize_h263_inter = dct_unquantize_h263_inter_mmx;
          s->dct_unquantize_mpeg1_intra = dct_unquantize_mpeg1_intra_mmx;
Simple merge
Simple merge
@@@ -32,15 -32,12 +32,15 @@@ void ff_prores_idct_put_10_sse4(uint16_
  void ff_prores_idct_put_10_avx (uint16_t *dst, int linesize,
                                  int16_t *block, const int16_t *qmat);
  
 -av_cold void ff_proresdsp_x86_init(ProresDSPContext *dsp)
 +av_cold void ff_proresdsp_x86_init(ProresDSPContext *dsp, AVCodecContext *avctx)
  {
  #if ARCH_X86_64
-     int flags = av_get_cpu_flags();
+     int cpu_flags = av_get_cpu_flags();
  
-     if (EXTERNAL_SSE2(flags)) {
 +    if(avctx->flags & CODEC_FLAG_BITEXACT)
 +        return;
 +
+     if (EXTERNAL_SSE2(cpu_flags)) {
          dsp->idct_permutation_type = FF_TRANSPOSE_IDCT_PERM;
          dsp->idct_put = ff_prores_idct_put_10_sse2;
      }
Simple merge
@@@ -38,39 -37,21 +38,39 @@@ void ff_sbr_qmf_deint_bfly_sse(float *v
  void ff_sbr_qmf_deint_bfly_sse2(float *v, const float *src0, const float *src1);
  void ff_sbr_qmf_pre_shuffle_sse2(float *z);
  
 +void ff_sbr_hf_apply_noise_0_sse2(float (*Y)[2], const float *s_m,
 +                                  const float *q_filt, int noise,
 +                                  int kx, int m_max);
 +void ff_sbr_hf_apply_noise_1_sse2(float (*Y)[2], const float *s_m,
 +                                  const float *q_filt, int noise,
 +                                  int kx, int m_max);
 +void ff_sbr_hf_apply_noise_2_sse2(float (*Y)[2], const float *s_m,
 +                                  const float *q_filt, int noise,
 +                                  int kx, int m_max);
 +void ff_sbr_hf_apply_noise_3_sse2(float (*Y)[2], const float *s_m,
 +                                  const float *q_filt, int noise,
 +                                  int kx, int m_max);
 +
  av_cold void ff_sbrdsp_init_x86(SBRDSPContext *s)
  {
-     int mm_flags = av_get_cpu_flags();
+     int cpu_flags = av_get_cpu_flags();
  
-     if (EXTERNAL_SSE(mm_flags)) {
+     if (EXTERNAL_SSE(cpu_flags)) {
          s->neg_odd_64 = ff_sbr_neg_odd_64_sse;
          s->sum_square = ff_sbr_sum_square_sse;
          s->sum64x5    = ff_sbr_sum64x5_sse;
          s->hf_g_filt  = ff_sbr_hf_g_filt_sse;
          s->hf_gen     = ff_sbr_hf_gen_sse;
          s->qmf_post_shuffle = ff_sbr_qmf_post_shuffle_sse;
 +        s->qmf_deint_bfly   = ff_sbr_qmf_deint_bfly_sse;
      }
  
-     if (EXTERNAL_SSE2(mm_flags)) {
+     if (EXTERNAL_SSE2(cpu_flags)) {
          s->qmf_deint_bfly   = ff_sbr_qmf_deint_bfly_sse2;
          s->qmf_pre_shuffle  = ff_sbr_qmf_pre_shuffle_sse2;
 +        s->hf_apply_noise[0] = ff_sbr_hf_apply_noise_0_sse2;
 +        s->hf_apply_noise[1] = ff_sbr_hf_apply_noise_1_sse2;
 +        s->hf_apply_noise[2] = ff_sbr_hf_apply_noise_2_sse2;
 +        s->hf_apply_noise[3] = ff_sbr_hf_apply_noise_3_sse2;
      }
  }
Simple merge
Simple merge
@@@ -43,70 -40,12 +43,70 @@@ void ff_vp3_v_loop_filter_mmxext(uint8_
  void ff_vp3_h_loop_filter_mmxext(uint8_t *src, int stride,
                                   int *bounding_values);
  
 +#if HAVE_MMX_INLINE
 +
 +#define MOVQ_BFE(regd)                                  \
 +    __asm__ volatile (                                  \
 +        "pcmpeqd %%"#regd", %%"#regd"   \n\t"           \
 +        "paddb   %%"#regd", %%"#regd"   \n\t" ::)
 +
 +#define PAVGBP_MMX_NO_RND(rega, regb, regr,  regc, regd, regp)   \
 +    "movq  "#rega", "#regr"             \n\t"                    \
 +    "movq  "#regc", "#regp"             \n\t"                    \
 +    "pand  "#regb", "#regr"             \n\t"                    \
 +    "pand  "#regd", "#regp"             \n\t"                    \
 +    "pxor  "#rega", "#regb"             \n\t"                    \
 +    "pxor  "#regc", "#regd"             \n\t"                    \
 +    "pand    %%mm6, "#regb"             \n\t"                    \
 +    "pand    %%mm6, "#regd"             \n\t"                    \
 +    "psrlq      $1, "#regb"             \n\t"                    \
 +    "psrlq      $1, "#regd"             \n\t"                    \
 +    "paddb "#regb", "#regr"             \n\t"                    \
 +    "paddb "#regd", "#regp"             \n\t"
 +
 +static void put_vp_no_rnd_pixels8_l2_mmx(uint8_t *dst, const uint8_t *a, const uint8_t *b, ptrdiff_t stride, int h)
 +{
 +//    START_TIMER
 +    MOVQ_BFE(mm6);
 +    __asm__ volatile(
 +        "1:                             \n\t"
 +        "movq   (%1), %%mm0             \n\t"
 +        "movq   (%2), %%mm1             \n\t"
 +        "movq   (%1,%4), %%mm2          \n\t"
 +        "movq   (%2,%4), %%mm3          \n\t"
 +        PAVGBP_MMX_NO_RND(%%mm0, %%mm1, %%mm4,   %%mm2, %%mm3, %%mm5)
 +        "movq   %%mm4, (%3)             \n\t"
 +        "movq   %%mm5, (%3,%4)          \n\t"
 +
 +        "movq   (%1,%4,2), %%mm0        \n\t"
 +        "movq   (%2,%4,2), %%mm1        \n\t"
 +        "movq   (%1,%5), %%mm2          \n\t"
 +        "movq   (%2,%5), %%mm3          \n\t"
 +        "lea    (%1,%4,4), %1           \n\t"
 +        "lea    (%2,%4,4), %2           \n\t"
 +        PAVGBP_MMX_NO_RND(%%mm0, %%mm1, %%mm4,   %%mm2, %%mm3, %%mm5)
 +        "movq   %%mm4, (%3,%4,2)        \n\t"
 +        "movq   %%mm5, (%3,%5)          \n\t"
 +        "lea    (%3,%4,4), %3           \n\t"
 +        "subl   $4, %0                  \n\t"
 +        "jnz    1b                      \n\t"
 +        :"+r"(h), "+r"(a), "+r"(b), "+r"(dst)
 +        :"r"((x86_reg)stride), "r"((x86_reg)3L*stride)
 +        :"memory");
 +//    STOP_TIMER("put_vp_no_rnd_pixels8_l2_mmx")
 +}
 +#endif /* HAVE_MMX_INLINE */
 +
  av_cold void ff_vp3dsp_init_x86(VP3DSPContext *c, int flags)
  {
-     int cpuflags = av_get_cpu_flags();
+     int cpu_flags = av_get_cpu_flags();
  
 +#if HAVE_MMX_INLINE
 +    c->put_no_rnd_pixels_l2 = put_vp_no_rnd_pixels8_l2_mmx;
 +#endif /* HAVE_MMX_INLINE */
 +
  #if ARCH_X86_32
-     if (EXTERNAL_MMX(cpuflags)) {
+     if (EXTERNAL_MMX(cpu_flags)) {
          c->idct_put  = ff_vp3_idct_put_mmx;
          c->idct_add  = ff_vp3_idct_add_mmx;
      }
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge