You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	configure: probe RISC-V Vector extension
This commit is contained in:
		
				
					committed by
					
						 Lynne
						Lynne
					
				
			
			
				
	
			
			
			
						parent
						
							0c0a3deb18
						
					
				
				
					commit
					1b6aee52a5
				
			
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							| @@ -91,7 +91,7 @@ ffbuild/.config: $(CONFIGURABLE_COMPONENTS) | ||||
| SUBDIR_VARS := CLEANFILES FFLIBS HOSTPROGS TESTPROGS TOOLS               \ | ||||
|                HEADERS ARCH_HEADERS BUILT_HEADERS SKIPHEADERS            \ | ||||
|                ARMV5TE-OBJS ARMV6-OBJS ARMV8-OBJS VFP-OBJS NEON-OBJS     \ | ||||
|                ALTIVEC-OBJS VSX-OBJS MMX-OBJS X86ASM-OBJS                \ | ||||
|                ALTIVEC-OBJS VSX-OBJS RVV-OBJS MMX-OBJS X86ASM-OBJS       \ | ||||
|                MIPSFPU-OBJS MIPSDSPR2-OBJS MIPSDSP-OBJS MSA-OBJS         \ | ||||
|                MMI-OBJS LSX-OBJS LASX-OBJS OBJS SLIBOBJS SHLIBOBJS       \ | ||||
|                STLIBOBJS HOSTOBJS TESTOBJS | ||||
|   | ||||
							
								
								
									
										15
									
								
								configure
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								configure
									
									
									
									
										vendored
									
									
								
							| @@ -462,6 +462,7 @@ Optimization options (experts only): | ||||
|   --disable-mmi            disable Loongson MMI optimizations | ||||
|   --disable-lsx            disable Loongson LSX optimizations | ||||
|   --disable-lasx           disable Loongson LASX optimizations | ||||
|   --disable-rvv            disable RISC-V Vector optimizations | ||||
|   --disable-fast-unaligned consider unaligned accesses slow | ||||
|  | ||||
| Developer options (useful when working on FFmpeg itself): | ||||
| @@ -2126,6 +2127,10 @@ ARCH_EXT_LIST_PPC=" | ||||
|     vsx | ||||
| " | ||||
|  | ||||
| ARCH_EXT_LIST_RISCV=" | ||||
|     rvv | ||||
| " | ||||
|  | ||||
| ARCH_EXT_LIST_X86=" | ||||
|     $ARCH_EXT_LIST_X86_SIMD | ||||
|     cpunop | ||||
| @@ -2135,6 +2140,7 @@ ARCH_EXT_LIST_X86=" | ||||
| ARCH_EXT_LIST=" | ||||
|     $ARCH_EXT_LIST_ARM | ||||
|     $ARCH_EXT_LIST_PPC | ||||
|     $ARCH_EXT_LIST_RISCV | ||||
|     $ARCH_EXT_LIST_X86 | ||||
|     $ARCH_EXT_LIST_MIPS | ||||
|     $ARCH_EXT_LIST_LOONGSON | ||||
| @@ -2642,6 +2648,8 @@ ppc4xx_deps="ppc" | ||||
| vsx_deps="altivec" | ||||
| power8_deps="vsx" | ||||
|  | ||||
| rvv_deps="riscv" | ||||
|  | ||||
| loongson2_deps="mips" | ||||
| loongson3_deps="mips" | ||||
| mmi_deps_any="loongson2 loongson3" | ||||
| @@ -6110,6 +6118,10 @@ elif enabled ppc; then | ||||
|         check_cpp_condition power8 "altivec.h" "defined(_ARCH_PWR8)" | ||||
|     fi | ||||
|  | ||||
| elif enabled riscv; then | ||||
|  | ||||
|     enabled rvv && check_inline_asm rvv '".option arch, +v\nvsetivli zero, 0, e8, m1, ta, ma"' | ||||
|  | ||||
| elif enabled x86; then | ||||
|  | ||||
|     check_builtin rdtsc    intrin.h   "__rdtsc()" | ||||
| @@ -7596,6 +7608,9 @@ if enabled loongarch; then | ||||
|     echo "LSX enabled               ${lsx-no}" | ||||
|     echo "LASX enabled              ${lasx-no}" | ||||
| fi | ||||
| if enabled riscv; then | ||||
|     echo "RISC-V Vector enabled     ${rvv-no}" | ||||
| fi | ||||
| echo "debug symbols             ${debug-no}" | ||||
| echo "strip symbols             ${stripping-no}" | ||||
| echo "optimize for size         ${small-no}" | ||||
|   | ||||
| @@ -15,5 +15,7 @@ OBJS-$(HAVE_LASX)      += $(LASX-OBJS)       $(LASX-OBJS-yes) | ||||
| OBJS-$(HAVE_ALTIVEC) += $(ALTIVEC-OBJS) $(ALTIVEC-OBJS-yes) | ||||
| OBJS-$(HAVE_VSX)     += $(VSX-OBJS) $(VSX-OBJS-yes) | ||||
|  | ||||
| OBJS-$(HAVE_RVV)     += $(RVV-OBJS)     $(RVV-OBJS-yes) | ||||
|  | ||||
| OBJS-$(HAVE_MMX)     += $(MMX-OBJS)     $(MMX-OBJS-yes) | ||||
| OBJS-$(HAVE_X86ASM)  += $(X86ASM-OBJS)  $(X86ASM-OBJS-yes) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user