You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	use mmi instead of loongson3 as simd-optimization flag
Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
		
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							| @@ -81,7 +81,7 @@ SUBDIR_VARS := CLEANFILES EXAMPLES FFLIBS HOSTPROGS TESTPROGS TOOLS      \ | |||||||
|                ARMV5TE-OBJS ARMV6-OBJS ARMV8-OBJS VFP-OBJS NEON-OBJS     \ |                ARMV5TE-OBJS ARMV6-OBJS ARMV8-OBJS VFP-OBJS NEON-OBJS     \ | ||||||
|                ALTIVEC-OBJS MMX-OBJS YASM-OBJS                           \ |                ALTIVEC-OBJS MMX-OBJS YASM-OBJS                           \ | ||||||
|                MIPSFPU-OBJS MIPSDSPR2-OBJS MIPSDSPR1-OBJS MSA-OBJS       \ |                MIPSFPU-OBJS MIPSDSPR2-OBJS MIPSDSPR1-OBJS MSA-OBJS       \ | ||||||
|                LOONGSON3-OBJS OBJS SLIBOBJS HOSTOBJS TESTOBJS |                MMI-OBJS OBJS SLIBOBJS HOSTOBJS TESTOBJS | ||||||
|  |  | ||||||
| define RESET | define RESET | ||||||
| $(1) := | $(1) := | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								arch.mak
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								arch.mak
									
									
									
									
									
								
							| @@ -8,7 +8,7 @@ OBJS-$(HAVE_MIPSFPU)   += $(MIPSFPU-OBJS)    $(MIPSFPU-OBJS-yes) | |||||||
| OBJS-$(HAVE_MIPSDSPR1) += $(MIPSDSPR1-OBJS)  $(MIPSDSPR1-OBJS-yes) | OBJS-$(HAVE_MIPSDSPR1) += $(MIPSDSPR1-OBJS)  $(MIPSDSPR1-OBJS-yes) | ||||||
| OBJS-$(HAVE_MIPSDSPR2) += $(MIPSDSPR2-OBJS)  $(MIPSDSPR2-OBJS-yes) | OBJS-$(HAVE_MIPSDSPR2) += $(MIPSDSPR2-OBJS)  $(MIPSDSPR2-OBJS-yes) | ||||||
| OBJS-$(HAVE_MSA)       += $(MSA-OBJS)        $(MSA-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_ALTIVEC) += $(ALTIVEC-OBJS) $(ALTIVEC-OBJS-yes) | ||||||
| OBJS-$(HAVE_VSX)     += $(VSX-OBJS) $(VSX-OBJS-yes) | OBJS-$(HAVE_VSX)     += $(VSX-OBJS) $(VSX-OBJS-yes) | ||||||
|   | |||||||
							
								
								
									
										10
									
								
								configure
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								configure
									
									
									
									
										vendored
									
									
								
							| @@ -374,7 +374,7 @@ Optimization options (experts only): | |||||||
|   --disable-mipsdspr2      disable MIPS DSP ASE R2 optimizations |   --disable-mipsdspr2      disable MIPS DSP ASE R2 optimizations | ||||||
|   --disable-msa            disable MSA optimizations |   --disable-msa            disable MSA optimizations | ||||||
|   --disable-mipsfpu        disable floating point MIPS 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 |   --disable-fast-unaligned consider unaligned accesses slow | ||||||
|  |  | ||||||
| Developer options (useful when working on FFmpeg itself): | Developer options (useful when working on FFmpeg itself): | ||||||
| @@ -1591,7 +1591,7 @@ ARCH_EXT_LIST_MIPS=" | |||||||
| " | " | ||||||
|  |  | ||||||
| ARCH_EXT_LIST_LOONGSON=" | ARCH_EXT_LIST_LOONGSON=" | ||||||
|     loongson3 |     mmi | ||||||
| " | " | ||||||
|  |  | ||||||
| ARCH_EXT_LIST_X86_SIMD=" | ARCH_EXT_LIST_X86_SIMD=" | ||||||
| @@ -2046,7 +2046,7 @@ mips32r2_deps="mips" | |||||||
| mips32r5_deps="mips" | mips32r5_deps="mips" | ||||||
| mips64r6_deps="mips" | mips64r6_deps="mips" | ||||||
| msa_deps="mips" | msa_deps="mips" | ||||||
| loongson3_deps="mips" | mmi_deps="mips" | ||||||
|  |  | ||||||
| altivec_deps="ppc" | altivec_deps="ppc" | ||||||
| dcbzl_deps="ppc" | dcbzl_deps="ppc" | ||||||
| @@ -4737,6 +4737,8 @@ EOF | |||||||
|  |  | ||||||
| elif enabled mips; then | elif enabled mips; then | ||||||
|  |  | ||||||
|  |     enabled mmi && check_inline_asm mmi '"punpcklhw $f0, $f0, $f0"' | ||||||
|  |  | ||||||
|     # Enable minimum ISA based on selected options |     # Enable minimum ISA based on selected options | ||||||
|     if enabled mips64 && (enabled mipsdspr1 || enabled mipsdspr2); then |     if enabled mips64 && (enabled mipsdspr1 || enabled mipsdspr2); then | ||||||
|         add_cflags "-mips64r2" |         add_cflags "-mips64r2" | ||||||
| @@ -5779,7 +5781,7 @@ if enabled mips; then | |||||||
|     echo "MIPS DSP R1 enabled       ${mipsdspr1-no}" |     echo "MIPS DSP R1 enabled       ${mipsdspr1-no}" | ||||||
|     echo "MIPS DSP R2 enabled       ${mipsdspr2-no}" |     echo "MIPS DSP R2 enabled       ${mipsdspr2-no}" | ||||||
|     echo "MIPS MSA enabled          ${msa-no}" |     echo "MIPS MSA enabled          ${msa-no}" | ||||||
|     echo "LOONGSON3 enabled         ${loongson3-no}" |     echo "LOONGSON MMI enabled      ${mmi-no}" | ||||||
| fi | fi | ||||||
| if enabled ppc; then | if enabled ppc; then | ||||||
|     echo "AltiVec enabled           ${altivec-no}" |     echo "AltiVec enabled           ${altivec-no}" | ||||||
|   | |||||||
| @@ -53,5 +53,5 @@ MSA-OBJS-$(CONFIG_PIXBLOCKDSP)            += mips/pixblockdsp_msa.o | |||||||
| MSA-OBJS-$(CONFIG_MPEGVIDEO)              += mips/mpegvideo_msa.o | MSA-OBJS-$(CONFIG_MPEGVIDEO)              += mips/mpegvideo_msa.o | ||||||
| MSA-OBJS-$(CONFIG_MPEGVIDEOENC)           += mips/mpegvideoencdsp_msa.o | MSA-OBJS-$(CONFIG_MPEGVIDEOENC)           += mips/mpegvideoencdsp_msa.o | ||||||
| MSA-OBJS-$(CONFIG_ME_CMP)                 += mips/me_cmp_msa.o | MSA-OBJS-$(CONFIG_ME_CMP)                 += mips/me_cmp_msa.o | ||||||
| LOONGSON3-OBJS-$(CONFIG_H264DSP)          += mips/h264dsp_mmi.o | MMI-OBJS-$(CONFIG_H264DSP)                += mips/h264dsp_mmi.o | ||||||
| LOONGSON3-OBJS-$(CONFIG_H264CHROMA)       += mips/h264chroma_mmi.o | MMI-OBJS-$(CONFIG_H264CHROMA)             += mips/h264chroma_mmi.o | ||||||
|   | |||||||
| @@ -38,7 +38,7 @@ static av_cold void h264chroma_init_msa(H264ChromaContext *c, int bit_depth) | |||||||
| } | } | ||||||
| #endif  // #if HAVE_MSA | #endif  // #if HAVE_MSA | ||||||
|  |  | ||||||
| #if HAVE_LOONGSON3 | #if HAVE_MMI | ||||||
| static av_cold void h264chroma_init_mmi(H264ChromaContext *c, int bit_depth) | static av_cold void h264chroma_init_mmi(H264ChromaContext *c, int bit_depth) | ||||||
| { | { | ||||||
|     int high_bit_depth = bit_depth > 8; |     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; |         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) | av_cold void ff_h264chroma_init_mips(H264ChromaContext *c, int bit_depth) | ||||||
| { | { | ||||||
| #if HAVE_MSA | #if HAVE_MSA | ||||||
|     h264chroma_init_msa(c, bit_depth); |     h264chroma_init_msa(c, bit_depth); | ||||||
| #endif  // #if HAVE_MSA | #endif  // #if HAVE_MSA | ||||||
| #if HAVE_LOONGSON3 | #if HAVE_MMI | ||||||
|     h264chroma_init_mmi(c, bit_depth); |     h264chroma_init_mmi(c, bit_depth); | ||||||
| #endif /* HAVE_LOONGSON3 */ | #endif /* HAVE_MMI */ | ||||||
| } | } | ||||||
|   | |||||||
| @@ -81,7 +81,7 @@ static av_cold void h264dsp_init_msa(H264DSPContext *c, | |||||||
| } | } | ||||||
| #endif  // #if HAVE_MSA | #endif  // #if HAVE_MSA | ||||||
|  |  | ||||||
| #if HAVE_LOONGSON3 | #if HAVE_MMI | ||||||
| static av_cold void h264dsp_init_mmi(H264DSPContext * c, | static av_cold void h264dsp_init_mmi(H264DSPContext * c, | ||||||
|                                      const int bit_depth, |                                      const int bit_depth, | ||||||
|                                      const int chroma_format_idc) |                                      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; |         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, | av_cold void ff_h264dsp_init_mips(H264DSPContext *c, const int bit_depth, | ||||||
|                                   const int chroma_format_idc) |                                   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 | #if HAVE_MSA | ||||||
|     h264dsp_init_msa(c, bit_depth, chroma_format_idc); |     h264dsp_init_msa(c, bit_depth, chroma_format_idc); | ||||||
| #endif  // #if HAVE_MSA | #endif  // #if HAVE_MSA | ||||||
| #if HAVE_LOONGSON3 | #if HAVE_MMI | ||||||
|     h264dsp_init_mmi(c, bit_depth, chroma_format_idc); |     h264dsp_init_mmi(c, bit_depth, chroma_format_idc); | ||||||
| #endif /* HAVE_LOONGSON3 */ | #endif /* HAVE_MMI */ | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user