diff --git a/Makefile b/Makefile index 69f371b93ffd5e1bd748e7859ebccf2492b9bbe7..1fb16101de17e80d49c0d2b8e3074212616e473f 100644 --- a/Makefile +++ b/Makefile @@ -81,7 +81,7 @@ SUBDIR_VARS := CLEANFILES EXAMPLES FFLIBS HOSTPROGS TESTPROGS TOOLS \ ARMV5TE-OBJS ARMV6-OBJS ARMV8-OBJS VFP-OBJS NEON-OBJS \ ALTIVEC-OBJS MMX-OBJS YASM-OBJS \ MIPSFPU-OBJS MIPSDSPR2-OBJS MIPSDSPR1-OBJS MSA-OBJS \ - LOONGSON3-OBJS OBJS SLIBOBJS HOSTOBJS TESTOBJS + MMI-OBJS OBJS SLIBOBJS HOSTOBJS TESTOBJS define RESET $(1) := diff --git a/arch.mak b/arch.mak index 4508c2a242ded887ec532472075fe9565a31962c..98fde4a3ee5ad44cbf507ae71caae1087c01b74c 100644 --- a/arch.mak +++ b/arch.mak @@ -8,7 +8,7 @@ OBJS-$(HAVE_MIPSFPU) += $(MIPSFPU-OBJS) $(MIPSFPU-OBJS-yes) OBJS-$(HAVE_MIPSDSPR1) += $(MIPSDSPR1-OBJS) $(MIPSDSPR1-OBJS-yes) OBJS-$(HAVE_MIPSDSPR2) += $(MIPSDSPR2-OBJS) $(MIPSDSPR2-OBJS-yes) OBJS-$(HAVE_MSA) += $(MSA-OBJS) $(MSA-OBJS-yes) -OBJS-$(HAVE_LOONGSON3) += $(LOONGSON3-OBJS) $(LOONGSON3-OBJS-yes) +OBJS-$(HAVE_MMI) += $(MMI-OBJS) $(MMI-OBJS-yes) OBJS-$(HAVE_ALTIVEC) += $(ALTIVEC-OBJS) $(ALTIVEC-OBJS-yes) OBJS-$(HAVE_VSX) += $(VSX-OBJS) $(VSX-OBJS-yes) diff --git a/configure b/configure index cc23991fb7d4929f4c18063a929c40fad827f0c2..a292102d5597f13858f1832855a0931f8ad9dfb4 100755 --- a/configure +++ b/configure @@ -374,7 +374,7 @@ Optimization options (experts only): --disable-mipsdspr2 disable MIPS DSP ASE R2 optimizations --disable-msa disable MSA optimizations --disable-mipsfpu disable floating point MIPS optimizations - --disable-loongson3 disable Loongson-3 SIMD optimizations + --disable-mmi disable Loongson SIMD optimizations --disable-fast-unaligned consider unaligned accesses slow Developer options (useful when working on FFmpeg itself): @@ -1591,7 +1591,7 @@ ARCH_EXT_LIST_MIPS=" " ARCH_EXT_LIST_LOONGSON=" - loongson3 + mmi " ARCH_EXT_LIST_X86_SIMD=" @@ -2046,7 +2046,7 @@ mips32r2_deps="mips" mips32r5_deps="mips" mips64r6_deps="mips" msa_deps="mips" -loongson3_deps="mips" +mmi_deps="mips" altivec_deps="ppc" dcbzl_deps="ppc" @@ -4737,6 +4737,8 @@ EOF elif enabled mips; then + enabled mmi && check_inline_asm mmi '"punpcklhw $f0, $f0, $f0"' + # Enable minimum ISA based on selected options if enabled mips64 && (enabled mipsdspr1 || enabled mipsdspr2); then add_cflags "-mips64r2" @@ -5779,7 +5781,7 @@ if enabled mips; then echo "MIPS DSP R1 enabled ${mipsdspr1-no}" echo "MIPS DSP R2 enabled ${mipsdspr2-no}" echo "MIPS MSA enabled ${msa-no}" - echo "LOONGSON3 enabled ${loongson3-no}" + echo "LOONGSON MMI enabled ${mmi-no}" fi if enabled ppc; then echo "AltiVec enabled ${altivec-no}" diff --git a/libavcodec/mips/Makefile b/libavcodec/mips/Makefile index 29938912f888d537bdbadc3e6adc35f30573d4f0..695ee36b02de3d7e89e2488f6223632dafe2ef7c 100644 --- a/libavcodec/mips/Makefile +++ b/libavcodec/mips/Makefile @@ -53,5 +53,5 @@ MSA-OBJS-$(CONFIG_PIXBLOCKDSP) += mips/pixblockdsp_msa.o MSA-OBJS-$(CONFIG_MPEGVIDEO) += mips/mpegvideo_msa.o MSA-OBJS-$(CONFIG_MPEGVIDEOENC) += mips/mpegvideoencdsp_msa.o MSA-OBJS-$(CONFIG_ME_CMP) += mips/me_cmp_msa.o -LOONGSON3-OBJS-$(CONFIG_H264DSP) += mips/h264dsp_mmi.o -LOONGSON3-OBJS-$(CONFIG_H264CHROMA) += mips/h264chroma_mmi.o +MMI-OBJS-$(CONFIG_H264DSP) += mips/h264dsp_mmi.o +MMI-OBJS-$(CONFIG_H264CHROMA) += mips/h264chroma_mmi.o diff --git a/libavcodec/mips/h264chroma_init_mips.c b/libavcodec/mips/h264chroma_init_mips.c index 1cc57674b3df9f893fcae2f2d99e0d63c5bf79a7..122148dc78c9807b53490d461b8f116b4b40a380 100644 --- a/libavcodec/mips/h264chroma_init_mips.c +++ b/libavcodec/mips/h264chroma_init_mips.c @@ -38,7 +38,7 @@ static av_cold void h264chroma_init_msa(H264ChromaContext *c, int bit_depth) } #endif // #if HAVE_MSA -#if HAVE_LOONGSON3 +#if HAVE_MMI static av_cold void h264chroma_init_mmi(H264ChromaContext *c, int bit_depth) { int high_bit_depth = bit_depth > 8; @@ -50,14 +50,14 @@ static av_cold void h264chroma_init_mmi(H264ChromaContext *c, int bit_depth) c->avg_h264_chroma_pixels_tab[1] = ff_avg_h264_chroma_mc4_mmi; } } -#endif /* HAVE_LOONGSON3 */ +#endif /* HAVE_MMI */ av_cold void ff_h264chroma_init_mips(H264ChromaContext *c, int bit_depth) { #if HAVE_MSA h264chroma_init_msa(c, bit_depth); #endif // #if HAVE_MSA -#if HAVE_LOONGSON3 +#if HAVE_MMI h264chroma_init_mmi(c, bit_depth); -#endif /* HAVE_LOONGSON3 */ +#endif /* HAVE_MMI */ } diff --git a/libavcodec/mips/h264dsp_init_mips.c b/libavcodec/mips/h264dsp_init_mips.c index 7f74adf591782b2e0819244574d43b1de7879637..369462190eb2410aa4f1deb78e65b3e881614139 100644 --- a/libavcodec/mips/h264dsp_init_mips.c +++ b/libavcodec/mips/h264dsp_init_mips.c @@ -81,7 +81,7 @@ static av_cold void h264dsp_init_msa(H264DSPContext *c, } #endif // #if HAVE_MSA -#if HAVE_LOONGSON3 +#if HAVE_MMI static av_cold void h264dsp_init_mmi(H264DSPContext * c, const int bit_depth, const int chroma_format_idc) @@ -96,7 +96,7 @@ static av_cold void h264dsp_init_mmi(H264DSPContext * c, c->biweight_h264_pixels_tab[2] = ff_h264_biweight_pixels4_8_mmi; } } -#endif /* HAVE_LOONGSON3 */ +#endif /* HAVE_MMI */ av_cold void ff_h264dsp_init_mips(H264DSPContext *c, const int bit_depth, const int chroma_format_idc) @@ -104,7 +104,7 @@ av_cold void ff_h264dsp_init_mips(H264DSPContext *c, const int bit_depth, #if HAVE_MSA h264dsp_init_msa(c, bit_depth, chroma_format_idc); #endif // #if HAVE_MSA -#if HAVE_LOONGSON3 +#if HAVE_MMI h264dsp_init_mmi(c, bit_depth, chroma_format_idc); -#endif /* HAVE_LOONGSON3 */ +#endif /* HAVE_MMI */ }