Merge commit 'de27d2b92fa97deb2856d18e9f5f19586ce45a0f'
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 13 Mar 2013 01:56:33 +0000 (02:56 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 13 Mar 2013 01:56:33 +0000 (02:56 +0100)
* commit 'de27d2b92fa97deb2856d18e9f5f19586ce45a0f':
  lavc: remove disabled FF_API_LIBMPEG2 cruft

Conflicts:
libavcodec/avcodec.h
libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/avcodec.h
libavcodec/dct-test.c
libavcodec/options_table.h
libavcodec/version.h
libavcodec/x86/Makefile
libavcodec/x86/dsputil_mmx.c

Simple merge
Simple merge
Simple merge
  #ifndef FF_API_REQUEST_CHANNELS
  #define FF_API_REQUEST_CHANNELS (LIBAVCODEC_VERSION_MAJOR < 56)
  #endif
- #ifndef FF_API_LIBMPEG2
- #define FF_API_LIBMPEG2          (LIBAVCODEC_VERSION_MAJOR < 55)
- #endif
 +#ifndef FF_API_ALLOC_CONTEXT
 +#define FF_API_ALLOC_CONTEXT    (LIBAVCODEC_VERSION_MAJOR < 55)
 +#endif
 +#ifndef FF_API_AVCODEC_OPEN
 +#define FF_API_AVCODEC_OPEN     (LIBAVCODEC_VERSION_MAJOR < 55)
 +#endif
 +#ifndef FF_API_OLD_DECODE_AUDIO
 +#define FF_API_OLD_DECODE_AUDIO (LIBAVCODEC_VERSION_MAJOR < 56)
 +#endif
 +#ifndef FF_API_OLD_TIMECODE
 +#define FF_API_OLD_TIMECODE (LIBAVCODEC_VERSION_MAJOR < 55)
 +#endif
 +
 +#ifndef FF_API_OLD_ENCODE_AUDIO
 +#define FF_API_OLD_ENCODE_AUDIO (LIBAVCODEC_VERSION_MAJOR < 56)
 +#endif
 +#ifndef FF_API_OLD_ENCODE_VIDEO
 +#define FF_API_OLD_ENCODE_VIDEO (LIBAVCODEC_VERSION_MAJOR < 56)
 +#endif
 +#ifndef FF_API_CODEC_ID
 +#define FF_API_CODEC_ID          (LIBAVCODEC_VERSION_MAJOR < 56)
 +#endif
  #ifndef FF_API_MMI
  #define FF_API_MMI               (LIBAVCODEC_VERSION_MAJOR < 55)
  #endif
Simple merge
@@@ -1351,107 -1305,6 +1351,75 @@@ void ff_put_vc1_mspel_mc00_mmx(uint8_t 
      put_pixels8_mmx(dst, src, stride, 8);
  }
  
- /* XXX: Those functions should be suppressed ASAP when all IDCTs are
-  * converted. */
- #if CONFIG_GPL
- static void ff_libmpeg2mmx_idct_put(uint8_t *dest, int line_size,
-                                     int16_t *block)
- {
-     ff_mmx_idct(block);
-     ff_put_pixels_clamped_mmx(block, dest, line_size);
- }
- static void ff_libmpeg2mmx_idct_add(uint8_t *dest, int line_size,
-                                     int16_t *block)
- {
-     ff_mmx_idct(block);
-     ff_add_pixels_clamped_mmx(block, dest, line_size);
- }
- static void ff_libmpeg2mmx2_idct_put(uint8_t *dest, int line_size,
-                                      int16_t *block)
- {
-     ff_mmxext_idct(block);
-     ff_put_pixels_clamped_mmx(block, dest, line_size);
- }
- static void ff_libmpeg2mmx2_idct_add(uint8_t *dest, int line_size,
-                                      int16_t *block)
- {
-     ff_mmxext_idct(block);
-     ff_add_pixels_clamped_mmx(block, dest, line_size);
- }
- #endif
 +#if CONFIG_DIRAC_DECODER
 +#define DIRAC_PIXOP(OPNAME2, OPNAME, EXT)\
 +void ff_ ## OPNAME2 ## _dirac_pixels8_ ## EXT(uint8_t *dst, const uint8_t *src[5], int stride, int h)\
 +{\
 +    if (h&3)\
 +        ff_ ## OPNAME2 ## _dirac_pixels8_c(dst, src, stride, h);\
 +    else\
 +        OPNAME ## _pixels8_ ## EXT(dst, src[0], stride, h);\
 +}\
 +void ff_ ## OPNAME2 ## _dirac_pixels16_ ## EXT(uint8_t *dst, const uint8_t *src[5], int stride, int h)\
 +{\
 +    if (h&3)\
 +        ff_ ## OPNAME2 ## _dirac_pixels16_c(dst, src, stride, h);\
 +    else\
 +        OPNAME ## _pixels16_ ## EXT(dst, src[0], stride, h);\
 +}\
 +void ff_ ## OPNAME2 ## _dirac_pixels32_ ## EXT(uint8_t *dst, const uint8_t *src[5], int stride, int h)\
 +{\
 +    if (h&3) {\
 +        ff_ ## OPNAME2 ## _dirac_pixels32_c(dst, src, stride, h);\
 +    } else {\
 +        OPNAME ## _pixels16_ ## EXT(dst   , src[0]   , stride, h);\
 +        OPNAME ## _pixels16_ ## EXT(dst+16, src[0]+16, stride, h);\
 +    }\
 +}
 +
 +#if HAVE_MMX_INLINE
 +DIRAC_PIXOP(put, put, mmx)
 +DIRAC_PIXOP(avg, avg, mmx)
 +#endif
 +
 +#if HAVE_YASM
 +DIRAC_PIXOP(avg, ff_avg, mmxext)
 +
 +void ff_put_dirac_pixels16_sse2(uint8_t *dst, const uint8_t *src[5], int stride, int h)
 +{
 +    if (h&3)
 +        ff_put_dirac_pixels16_c(dst, src, stride, h);
 +    else
 +    ff_put_pixels16_sse2(dst, src[0], stride, h);
 +}
 +void ff_avg_dirac_pixels16_sse2(uint8_t *dst, const uint8_t *src[5], int stride, int h)
 +{
 +    if (h&3)
 +        ff_avg_dirac_pixels16_c(dst, src, stride, h);
 +    else
 +    ff_avg_pixels16_sse2(dst, src[0], stride, h);
 +}
 +void ff_put_dirac_pixels32_sse2(uint8_t *dst, const uint8_t *src[5], int stride, int h)
 +{
 +    if (h&3) {
 +        ff_put_dirac_pixels32_c(dst, src, stride, h);
 +    } else {
 +    ff_put_pixels16_sse2(dst   , src[0]   , stride, h);
 +    ff_put_pixels16_sse2(dst+16, src[0]+16, stride, h);
 +    }
 +}
 +void ff_avg_dirac_pixels32_sse2(uint8_t *dst, const uint8_t *src[5], int stride, int h)
 +{
 +    if (h&3) {
 +        ff_avg_dirac_pixels32_c(dst, src, stride, h);
 +    } else {
 +    ff_avg_pixels16_sse2(dst   , src[0]   , stride, h);
 +    ff_avg_pixels16_sse2(dst+16, src[0]+16, stride, h);
 +    }
 +}
 +#endif
 +#endif
 +
  static void vector_clipf_sse(float *dst, const float *src,
                               float min, float max, int len)
  {
@@@ -1811,50 -1679,8 +1779,37 @@@ av_cold void ff_dsputil_init_mmx(DSPCon
          c->add_hfyu_median_prediction = add_hfyu_median_prediction_cmov;
  #endif
  
 -    if (mm_flags & AV_CPU_FLAG_MMX)
 +    if (mm_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;
- #if CONFIG_GPL
-             } else if (idct_algo == FF_IDCT_LIBMPEG2MMX) {
-                 if (mm_flags & AV_CPU_FLAG_MMX2) {
-                     c->idct_put = ff_libmpeg2mmx2_idct_put;
-                     c->idct_add = ff_libmpeg2mmx2_idct_add;
-                     c->idct     = ff_mmxext_idct;
-                 } else {
-                     c->idct_put = ff_libmpeg2mmx_idct_put;
-                     c->idct_add = ff_libmpeg2mmx_idct_add;
-                     c->idct     = ff_mmx_idct;
-                 }
-                 c->idct_permutation_type = FF_LIBMPEG2_IDCT_PERM;
- #endif
 +            } else if (idct_algo == FF_IDCT_XVIDMMX) {
 +                if (mm_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) {
 +                    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);
 +    }
  
      if (mm_flags & AV_CPU_FLAG_MMXEXT)
          dsputil_init_mmxext(c, avctx, mm_flags);