Merge commit 'ca411fc1d34329cd17b28627f697e391ae52073f'
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 13 Oct 2012 13:25:11 +0000 (15:25 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 13 Oct 2012 13:25:11 +0000 (15:25 +0200)
* commit 'ca411fc1d34329cd17b28627f697e391ae52073f':
  avcodec: Remove broken MMI optimizations

Conflicts:
arch.mak
configure
libavcodec/avcodec.h
libavcodec/mips/Makefile
libavcodec/mips/dsputil_mmi.c
libavcodec/mips/idct_mmi.c
libavcodec/mips/mmi.h
libavcodec/mips/mpegvideo_mmi.c
libavcodec/options_table.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
Makefile
arch.mak
configure
libavcodec/avcodec.h
libavcodec/dsputil.c
libavcodec/dsputil.h
libavcodec/mips/Makefile
libavcodec/mpegvideo.c
libavcodec/mpegvideo.h
libavcodec/options_table.h
libavcodec/version.h

diff --cc Makefile
+++ b/Makefile
@@@ -70,9 -104,8 +70,9 @@@ config.h: .confi
  SUBDIR_VARS := CLEANFILES EXAMPLES FFLIBS HOSTPROGS TESTPROGS TOOLS      \
                 ARCH_HEADERS BUILT_HEADERS SKIPHEADERS                    \
                 ARMV5TE-OBJS ARMV6-OBJS ARMVFP-OBJS NEON-OBJS             \
-                MMI-OBJS ALTIVEC-OBJS VIS-OBJS                            \
+                ALTIVEC-OBJS VIS-OBJS                                     \
                 MMX-OBJS YASM-OBJS                                        \
 +               MIPSFPU-OBJS MIPSDSPR2-OBJS MIPSDSPR1-OBJS MIPS32R2-OBJS  \
                 OBJS HOSTOBJS TESTOBJS
  
  define RESET
diff --cc arch.mak
+++ b/arch.mak
@@@ -3,12 -3,6 +3,11 @@@ OBJS-$(HAVE_ARMV6)   += $(ARMV6-OBJS
  OBJS-$(HAVE_ARMVFP)  += $(ARMVFP-OBJS)  $(ARMVFP-OBJS-yes)
  OBJS-$(HAVE_NEON)    += $(NEON-OBJS)    $(NEON-OBJS-yes)
  
- OBJS-$(HAVE_MMI)     += $(MMI-OBJS)     $(MMI-OBJS-yes)
 +OBJS-$(HAVE_MIPSFPU)   += $(MIPSFPU-OBJS)    $(MIPSFPU-OBJS-yes)
 +OBJS-$(HAVE_MIPS32R2)  += $(MIPS32R2-OBJS)   $(MIPS32R2-OBJS-yes)
 +OBJS-$(HAVE_MIPSDSPR1) += $(MIPSDSPR1-OBJS)  $(MIPSDSPR1-OBJS-yes)
 +OBJS-$(HAVE_MIPSDSPR2) += $(MIPSDSPR2-OBJS)  $(MIPSDSPR2-OBJS-yes)
 +
  OBJS-$(HAVE_ALTIVEC) += $(ALTIVEC-OBJS) $(ALTIVEC-OBJS-yes)
  
  OBJS-$(HAVE_VIS)     += $(VIS-OBJS)     $(VIS-OBJS-yes)
diff --cc configure
+++ b/configure
@@@ -1513,12 -1349,6 +1511,11 @@@ armvfp_deps="arm
  neon_deps="arm"
  vfpv3_deps="armvfp"
  
- mmi_deps="mips"
 +mipsfpu_deps="mips"
 +mips32r2_deps="mips"
 +mipsdspr1_deps="mips"
 +mipsdspr2_deps="mips"
 +
  altivec_deps="ppc"
  ppc4xx_deps="ppc"
  
  elif enabled mips; then
  
      check_inline_asm loongson '"dmult.g $1, $2, $3"'
-     enabled mmi && check_inline_asm mmi '"lq $2, 0($2)"'
 +    enabled mips32r2  && add_cflags "-mips32r2" && add_asflags "-mips32r2" &&
 +     check_inline_asm mips32r2  '"rotr $t0, $t1, 1"'
 +    enabled mipsdspr1 && add_cflags "-mdsp" && add_asflags "-mdsp" &&
 +     check_inline_asm mipsdspr1 '"addu.qb $t0, $t1, $t2"'
 +    enabled mipsdspr2 && add_cflags "-mdspr2" && add_asflags "-mdspr2" &&
 +     check_inline_asm mipsdspr2 '"absq_s.qb $t0, $t1"'
 +    enabled mipsfpu   && add_cflags "-mhard-float" && add_asflags "-mhard-float" &&
 +     check_inline_asm mipsfpu   '"madd.d $f0, $f2, $f4, $f6"'
  
  elif enabled ppc; then
  
@@@ -4027,13 -3573,6 +4023,12 @@@ if enabled arm; the
      echo "ARM VFP enabled           ${armvfp-no}"
      echo "NEON enabled              ${neon-no}"
  fi
-     echo "MMI enabled               ${mmi-no}"
 +if enabled mips; then
 +    echo "MIPS FPU enabled          ${mipsfpu-no}"
 +    echo "MIPS32R2 enabled          ${mips32r2-no}"
 +    echo "MIPS DSP R1 enabled       ${mipsdspr1-no}"
 +    echo "MIPS DSP R2 enabled       ${mipsdspr2-no}"
 +fi
  if enabled ppc; then
      echo "AltiVec enabled           ${altivec-no}"
      echo "PPC 4xx optimizations     ${ppc4xx-no}"
@@@ -2787,8 -2620,12 +2787,10 @@@ typedef struct AVCodecContext 
  #define FF_IDCT_INT           1
  #define FF_IDCT_SIMPLE        2
  #define FF_IDCT_SIMPLEMMX     3
 -#if FF_API_LIBMPEG2
  #define FF_IDCT_LIBMPEG2MMX   4
 -#endif
+ #if FF_API_MMI
  #define FF_IDCT_MMI           5
+ #endif
  #define FF_IDCT_ARM           7
  #define FF_IDCT_ALTIVEC       8
  #define FF_IDCT_SH4           9
@@@ -3162,10 -2976,8 +3162,9 @@@ av_cold void ff_dsputil_init(DSPContext
      if (HAVE_VIS)        ff_dsputil_init_vis   (c, avctx);
      if (ARCH_ALPHA)      ff_dsputil_init_alpha (c, avctx);
      if (ARCH_PPC)        ff_dsputil_init_ppc   (c, avctx);
-     if (HAVE_MMI)        ff_dsputil_init_mmi   (c, avctx);
      if (ARCH_SH4)        ff_dsputil_init_sh4   (c, avctx);
      if (ARCH_BFIN)       ff_dsputil_init_bfin  (c, avctx);
 +    if (HAVE_MIPSFPU)    ff_dsputil_init_mips  (c, avctx);
  
      for (i = 0; i < 4; i++) {
          for (j = 0; j < 16; j++) {
Simple merge
index 8f64f82,0000000..2f053c9
mode 100644,000000..100644
--- /dev/null
@@@ -1,20 -1,0 +1,15 @@@
- MMI-OBJS += mips/dsputil_mmi.o                                          \
-             mips/idct_mmi.o                                             \
- MMI-OBJS-$(CONFIG_MPEGVIDEO)            += mips/mpegvideo_mmi.o
 +MIPSFPU-OBJS-$(CONFIG_AMRNB_DECODER)      += mips/acelp_filters_mips.o     \
 +                                             mips/celp_filters_mips.o      \
 +                                             mips/celp_math_mips.o         \
 +                                             mips/acelp_vectors_mips.o
 +MIPSFPU-OBJS-$(CONFIG_AMRWB_DECODER)      += mips/acelp_filters_mips.o     \
 +                                             mips/celp_filters_mips.o      \
 +                                             mips/amrwbdec_mips.o          \
 +                                             mips/celp_math_mips.o         \
 +                                             mips/acelp_vectors_mips.o
 +MIPSFPU-OBJS-$(CONFIG_MPEGAUDIODSP)       += mips/mpegaudiodsp_mips_float.o
 +MIPSDSPR1-OBJS-$(CONFIG_MPEGAUDIODSP)     += mips/mpegaudiodsp_mips_fixed.o
 +OBJS-$(CONFIG_FFT)                        += mips/fft_init_table.o
 +MIPSFPU-OBJS-$(CONFIG_FFT)                += mips/fft_mips.o
 +MIPSFPU-OBJS-$(HAVE_INLINE_ASM)           += mips/fmtconvert_mips.o
 +MIPSFPU-OBJS-$(HAVE_INLINE_ASM)           += mips/dsputil_mips.o
Simple merge
@@@ -772,11 -761,10 +772,10 @@@ void ff_MPV_frame_end(MpegEncContext *s
  int ff_MPV_encode_init(AVCodecContext *avctx);
  int ff_MPV_encode_end(AVCodecContext *avctx);
  int ff_MPV_encode_picture(AVCodecContext *avctx, AVPacket *pkt,
 -                          const AVFrame *frame, int *got_packet);
 -void ff_MPV_encode_init_x86(MpegEncContext *s);
 +                          AVFrame *frame, int *got_packet);
 +void ff_dct_encode_init_x86(MpegEncContext *s);
  void ff_MPV_common_init_x86(MpegEncContext *s);
  void ff_MPV_common_init_axp(MpegEncContext *s);
- void ff_MPV_common_init_mmi(MpegEncContext *s);
  void ff_MPV_common_init_arm(MpegEncContext *s);
  void ff_MPV_common_init_altivec(MpegEncContext *s);
  void ff_MPV_common_init_bfin(MpegEncContext *s);
@@@ -202,8 -195,9 +203,10 @@@ static const AVOption options[]=
  {"int", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_INT }, INT_MIN, INT_MAX, V|E|D, "idct"},
  {"simple", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_SIMPLE }, INT_MIN, INT_MAX, V|E|D, "idct"},
  {"simplemmx", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_SIMPLEMMX }, INT_MIN, INT_MAX, V|E|D, "idct"},
 +{"libmpeg2mmx", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_LIBMPEG2MMX }, INT_MIN, INT_MAX, V|E|D, "idct"},
+ #if FF_API_MMI
  {"mmi", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_MMI }, INT_MIN, INT_MAX, V|E|D, "idct"},
+ #endif
  {"arm", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_ARM }, INT_MIN, INT_MAX, V|E|D, "idct"},
  {"altivec", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_ALTIVEC }, INT_MIN, INT_MAX, V|E|D, "idct"},
  {"sh4", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_SH4 }, INT_MIN, INT_MAX, V|E|D, "idct"},
Simple merge