You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	lavc/riscv: require B or zba explicitly
This commit is contained in:
		| @@ -21,7 +21,7 @@ | ||||
|  | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| func ff_abs_pow34_rvv, zve32f | ||||
| func ff_abs_pow34_rvv, zve32f, zba | ||||
| 1: | ||||
|         vsetvli      t0, a2, e32, m8, ta, ma | ||||
|         sub          a2, a2, t0 | ||||
| @@ -38,7 +38,7 @@ func ff_abs_pow34_rvv, zve32f | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_aac_quant_bands_rvv, zve32f | ||||
| func ff_aac_quant_bands_rvv, zve32f, zba | ||||
| NOHWF   fmv.w.x     fa0, a6 | ||||
| NOHWF   fmv.w.x     fa1, a7 | ||||
|         fcvt.s.w    ft0, a5 | ||||
|   | ||||
| @@ -20,7 +20,7 @@ | ||||
|  | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| func ff_ps_add_squares_rvv, zve64f | ||||
| func ff_ps_add_squares_rvv, zve64f, zba | ||||
|         li          t1, 32 | ||||
| 1: | ||||
|         vsetvli     t0, a2, e32, m4, ta, ma | ||||
| @@ -39,7 +39,7 @@ func ff_ps_add_squares_rvv, zve64f | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_ps_mul_pair_single_rvv, zve32f | ||||
| func ff_ps_mul_pair_single_rvv, zve32f, zba | ||||
| 1: | ||||
|         vsetvli     t0, a3, e32, m4, ta, ma | ||||
|         vlseg2e32.v v24, (a1) | ||||
| @@ -134,7 +134,7 @@ NOHWD   flw     fs\n, (4 * \n)(sp) | ||||
|         .purgem filter | ||||
| endfunc | ||||
|  | ||||
| func ff_ps_hybrid_analysis_ileave_rvv, zve32x /* no needs for zve32f here */ | ||||
| func ff_ps_hybrid_analysis_ileave_rvv, zve32x /* no zve32f here */, zba | ||||
|         slli        t0, a2, 5 + 1 + 2 // ctz(32 * 2 * 4) | ||||
|         sh2add      a1, a2, a1 | ||||
|         add         a0, a0, t0 | ||||
| @@ -169,7 +169,7 @@ func ff_ps_hybrid_analysis_ileave_rvv, zve32x /* no needs for zve32f here */ | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_ps_hybrid_synthesis_deint_rvv, zve64x | ||||
| func ff_ps_hybrid_synthesis_deint_rvv, zve64x, zba | ||||
|         slli    t0, a2, 5 + 1 + 2 | ||||
|         sh2add  a0, a2, a0 | ||||
|         add     a1, a1, t0 | ||||
| @@ -207,7 +207,7 @@ func ff_ps_hybrid_synthesis_deint_rvv, zve64x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_ps_stereo_interpolate_rvv, zve32f, zbb | ||||
| func ff_ps_stereo_interpolate_rvv, zve32f, b | ||||
|         vsetvli      t0, zero, e32, m2, ta, ma | ||||
|         vid.v        v24 | ||||
|         flw          ft0,   (a2) | ||||
|   | ||||
| @@ -43,7 +43,7 @@ func ff_ac3_exponent_min_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_float_to_fixed24_rvv, zve32f | ||||
| func ff_float_to_fixed24_rvv, zve32f, zba | ||||
|         li            t1, 1 << 24 | ||||
|         fcvt.s.w      f0, t1 | ||||
| 1: | ||||
| @@ -61,7 +61,7 @@ func ff_float_to_fixed24_rvv, zve32f | ||||
| endfunc | ||||
|  | ||||
| #if __riscv_xlen >= 64 | ||||
| func ff_sum_square_butterfly_int32_rvv, zve64x | ||||
| func ff_sum_square_butterfly_int32_rvv, zve64x, zba | ||||
|         vsetvli    t0, zero, e64, m8, ta, ma | ||||
|         vmv.v.x    v0, zero | ||||
|         vmv.v.x    v8, zero | ||||
| @@ -101,7 +101,7 @@ func ff_sum_square_butterfly_int32_rvv, zve64x | ||||
| endfunc | ||||
| #endif | ||||
|  | ||||
| func ff_sum_square_butterfly_float_rvv, zve32f | ||||
| func ff_sum_square_butterfly_float_rvv, zve32f, zba | ||||
|         vsetvli     t0, zero, e32, m8, ta, ma | ||||
|         vmv.v.x     v0, zero | ||||
|         vmv.v.x     v8, zero | ||||
|   | ||||
| @@ -21,7 +21,7 @@ | ||||
| #include "config.h" | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| func ff_extract_exponents_rvvb, zve32x, zvbb | ||||
| func ff_extract_exponents_rvvb, zve32x, zvbb, zba | ||||
| 1: | ||||
|         vsetvli     t0, a2, e32, m8, ta, ma | ||||
|         vle32.v     v8, (a1) | ||||
|   | ||||
| @@ -21,7 +21,7 @@ | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| #if (__riscv_xlen == 64) | ||||
| func ff_alac_decorrelate_stereo_rvv, zve32x | ||||
| func ff_alac_decorrelate_stereo_rvv, zve32x, zba | ||||
|         ld          a4, 8(a0) | ||||
|         ld          a0, 0(a0) | ||||
| 1: | ||||
| @@ -43,7 +43,7 @@ func ff_alac_decorrelate_stereo_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_alac_append_extra_bits_mono_rvv, zve32x | ||||
| func ff_alac_append_extra_bits_mono_rvv, zve32x, zba | ||||
|         ld      a0, (a0) | ||||
|         ld      a1, (a1) | ||||
| 1: | ||||
| @@ -61,7 +61,7 @@ func ff_alac_append_extra_bits_mono_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_alac_append_extra_bits_stereo_rvv, zve32x | ||||
| func ff_alac_append_extra_bits_stereo_rvv, zve32x, zba | ||||
|         ld      a6, 8(a0) | ||||
|         ld      a0,  (a0) | ||||
|         ld      a7, 8(a1) | ||||
|   | ||||
| @@ -20,7 +20,7 @@ | ||||
|  | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| func ff_scalarproduct_int16_rvv, zve32x | ||||
| func ff_scalarproduct_int16_rvv, zve32x, zba | ||||
|         vsetvli     t0, zero, e32, m8, ta, ma | ||||
|         vmv.v.x     v8, zero | ||||
|         vmv.s.x     v0, zero | ||||
| @@ -40,7 +40,7 @@ func ff_scalarproduct_int16_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_vector_clip_int32_rvv, zve32x | ||||
| func ff_vector_clip_int32_rvv, zve32x, zba | ||||
| 1: | ||||
|         vsetvli t0, a4, e32, m8, ta, ma | ||||
|         vle32.v v8, (a1) | ||||
| @@ -55,7 +55,7 @@ func ff_vector_clip_int32_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_vector_clipf_rvv, zve32f | ||||
| func ff_vector_clipf_rvv, zve32f, zba | ||||
| NOHWF   fmv.w.x  fa0, a3 | ||||
| NOHWF   fmv.w.x  fa1, a4 | ||||
| 1: | ||||
|   | ||||
| @@ -23,7 +23,7 @@ | ||||
| #include "libavutil/riscv/bswap_rvb.S" | ||||
|  | ||||
| #if (__riscv_xlen >= 64) | ||||
| func ff_bswap32_buf_rvb, zbb | ||||
| func ff_bswap32_buf_rvb, zba, zbb | ||||
|         bswap32_rvb a0, a1, a2 | ||||
| endfunc | ||||
| #endif | ||||
|   | ||||
| @@ -21,7 +21,7 @@ | ||||
| #include "config.h" | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| func ff_bswap16_buf_rvv, zve32x | ||||
| func ff_bswap16_buf_rvv, zve32x, zba | ||||
| 1: | ||||
|         vsetvli t0, a2, e16, m8, ta, ma | ||||
|         vle16.v v8, (a1) | ||||
|   | ||||
| @@ -20,7 +20,7 @@ | ||||
|  | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| func ff_reorder_pixels_rvv, zve32x | ||||
| func ff_reorder_pixels_rvv, zve32x, zba | ||||
|         srai    a2, a2, 1 | ||||
|         add     t1, a1, a2 | ||||
| 1: | ||||
|   | ||||
							
								
								
									
										48
									
								
								libavcodec/riscv/fixed_vtype.S
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								libavcodec/riscv/fixed_vtype.S
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | ||||
| /* | ||||
|  * Copyright © 2024 Rémi Denis-Courmont. | ||||
|  * | ||||
|  * This file is part of FFmpeg. | ||||
|  * | ||||
|  * FFmpeg is free software; you can redistribute it and/or | ||||
|  * modify it under the terms of the GNU Lesser General Public | ||||
|  * License as published by the Free Software Foundation; either | ||||
|  * version 2.1 of the License, or (at your option) any later version. | ||||
|  * | ||||
|  * FFmpeg is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | ||||
|  * Lesser General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU Lesser General Public | ||||
|  * License along with FFmpeg; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||
|  */ | ||||
|  | ||||
| #define VILL -0x8000 | ||||
|  | ||||
|         .data | ||||
| ff_vtype_e8: | ||||
| ff_vtype_e8_1: | ||||
|         .half   VILL | ||||
| ff_vtype_e8_2: | ||||
|         .half   VILL | ||||
| ff_vtype_e8_4: | ||||
|         .half   VILL | ||||
| ff_vtype_e8_8: | ||||
|         .half   VILL | ||||
| ff_vtype_e8_16: | ||||
|         .half   VILL | ||||
| ff_vtype_e8_32: | ||||
|         .half   VILL | ||||
|  | ||||
| ff_vtype_e16: | ||||
| ff_vtype_e16_1: | ||||
|         .half   VILL | ||||
| ff_vtype_e16_2: | ||||
|         .half   VILL | ||||
| ff_vtype_e16_4: | ||||
|         .half   VILL | ||||
| ff_vtype_e16_8: | ||||
|         .half   VILL | ||||
| ff_vtype_e16_16: | ||||
|         .half   VILL | ||||
| @@ -20,7 +20,7 @@ | ||||
|  | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| func ff_flac_lpc16_rvv, zve32x, zbb | ||||
| func ff_flac_lpc16_rvv, zve32x, b | ||||
|         vtype_vli t0, a2, t2, e32, ta, ma | ||||
|         vsetvl  zero, a2, t0 | ||||
|         vle32.v v8, (a1) | ||||
| @@ -45,7 +45,7 @@ func ff_flac_lpc16_rvv, zve32x, zbb | ||||
| endfunc | ||||
|  | ||||
| #if (__riscv_xlen == 64) | ||||
| func ff_flac_lpc32_rvv, zve64x | ||||
| func ff_flac_lpc32_rvv, zve64x, zba | ||||
|         addi    t2, a2, -16 | ||||
|         ble     t2, zero, ff_flac_lpc32_rvv_simple | ||||
|         vsetivli zero, 1, e64, m1, ta, ma | ||||
| @@ -76,7 +76,7 @@ func ff_flac_lpc32_rvv, zve64x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_flac_lpc32_rvv_simple, zve64x, zbb | ||||
| func ff_flac_lpc32_rvv_simple, zve64x, b | ||||
|         vtype_vli t3, a2, t1, e64, ta, ma | ||||
|         vntypei t2, t3 | ||||
|         vsetvl  zero, a2, t3 // e64 | ||||
| @@ -104,7 +104,7 @@ func ff_flac_lpc32_rvv_simple, zve64x, zbb | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_flac_lpc33_rvv, zve64x, zbb | ||||
| func ff_flac_lpc33_rvv, zve64x, b | ||||
|         vtype_vli t0, a3, t1, e64, ta, ma | ||||
|         vsetvl  zero, a3, t0 | ||||
|         vmv.s.x v0, zero | ||||
| @@ -132,7 +132,7 @@ func ff_flac_lpc33_rvv, zve64x, zbb | ||||
| endfunc | ||||
| #endif | ||||
|  | ||||
| func ff_flac_wasted32_rvv, zve32x | ||||
| func ff_flac_wasted32_rvv, zve32x, zba | ||||
| 1: | ||||
|         vsetvli t0, a2, e32, m8, ta, ma | ||||
|         vle32.v v8, (a0) | ||||
| @@ -145,7 +145,7 @@ func ff_flac_wasted32_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_flac_wasted33_rvv, zve64x | ||||
| func ff_flac_wasted33_rvv, zve64x, zba | ||||
|         srli         t0, a2, 5 | ||||
|         li           t1, 1 | ||||
|         bnez         t0, 2f | ||||
| @@ -177,7 +177,7 @@ func ff_flac_wasted33_rvv, zve64x | ||||
| endfunc | ||||
|  | ||||
| #if (__riscv_xlen == 64) | ||||
| func ff_flac_decorrelate_indep2_16_rvv, zve32x | ||||
| func ff_flac_decorrelate_indep2_16_rvv, zve32x, zba | ||||
|         ld      a0,  (a0) | ||||
|         ld      a2, 8(a1) | ||||
|         ld      a1,  (a1) | ||||
| @@ -200,7 +200,7 @@ func ff_flac_decorrelate_indep2_16_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_flac_decorrelate_indep4_16_rvv, zve32x | ||||
| func ff_flac_decorrelate_indep4_16_rvv, zve32x, zba | ||||
|         ld      a0,   (a0) | ||||
|         ld      a2,  8(a1) | ||||
|         ld      t1, 16(a1) | ||||
| @@ -233,7 +233,7 @@ func ff_flac_decorrelate_indep4_16_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_flac_decorrelate_indep6_16_rvv, zve32x | ||||
| func ff_flac_decorrelate_indep6_16_rvv, zve32x, zba | ||||
|         ld      a0,   (a0) | ||||
|         ld      a2,  8(a1) | ||||
|         ld      t1, 16(a1) | ||||
| @@ -278,7 +278,7 @@ func ff_flac_decorrelate_indep6_16_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_flac_decorrelate_indep8_16_rvv, zve32x | ||||
| func ff_flac_decorrelate_indep8_16_rvv, zve32x, zba | ||||
|         ld      a0,   (a0) | ||||
|         ld      a2,  8(a1) | ||||
|         ld      t1, 16(a1) | ||||
| @@ -332,9 +332,7 @@ func ff_flac_decorrelate_indep8_16_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
|  | ||||
|  | ||||
| func ff_flac_decorrelate_ls_16_rvv, zve32x | ||||
| func ff_flac_decorrelate_ls_16_rvv, zve32x, zba | ||||
|         ld      a0,  (a0) | ||||
|         ld      a2, 8(a1) | ||||
|         ld      a1,  (a1) | ||||
| @@ -358,7 +356,7 @@ func ff_flac_decorrelate_ls_16_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_flac_decorrelate_rs_16_rvv, zve32x | ||||
| func ff_flac_decorrelate_rs_16_rvv, zve32x, zba | ||||
|         ld      a0,  (a0) | ||||
|         ld      a2, 8(a1) | ||||
|         ld      a1,  (a1) | ||||
| @@ -382,7 +380,7 @@ func ff_flac_decorrelate_rs_16_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_flac_decorrelate_ms_16_rvv, zve32x | ||||
| func ff_flac_decorrelate_ms_16_rvv, zve32x, zba | ||||
|         ld      a0,  (a0) | ||||
|         ld      a2, 8(a1) | ||||
|         ld      a1,  (a1) | ||||
| @@ -408,7 +406,7 @@ func ff_flac_decorrelate_ms_16_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_flac_decorrelate_indep2_32_rvv, zve32x | ||||
| func ff_flac_decorrelate_indep2_32_rvv, zve32x, zba | ||||
|         ld      a0,  (a0) | ||||
|         ld      a2, 8(a1) | ||||
|         ld      a1,  (a1) | ||||
| @@ -428,7 +426,7 @@ func ff_flac_decorrelate_indep2_32_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_flac_decorrelate_indep4_32_rvv, zve32x | ||||
| func ff_flac_decorrelate_indep4_32_rvv, zve32x, zba | ||||
|         ld      a0,   (a0) | ||||
|         ld      a2,  8(a1) | ||||
|         ld      t1, 16(a1) | ||||
| @@ -457,7 +455,7 @@ func ff_flac_decorrelate_indep4_32_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_flac_decorrelate_indep6_32_rvv, zve32x | ||||
| func ff_flac_decorrelate_indep6_32_rvv, zve32x, zba | ||||
|         ld      a0,   (a0) | ||||
|         ld      a2,  8(a1) | ||||
|         ld      t1, 16(a1) | ||||
| @@ -495,7 +493,7 @@ func ff_flac_decorrelate_indep6_32_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_flac_decorrelate_indep8_32_rvv, zve32x | ||||
| func ff_flac_decorrelate_indep8_32_rvv, zve32x, zba | ||||
|         ld      a0,   (a0) | ||||
|         ld      a2,  8(a1) | ||||
|         ld      t1, 16(a1) | ||||
| @@ -540,7 +538,7 @@ func ff_flac_decorrelate_indep8_32_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_flac_decorrelate_ls_32_rvv, zve32x | ||||
| func ff_flac_decorrelate_ls_32_rvv, zve32x, zba | ||||
|         ld      a0,  (a0) | ||||
|         ld      a2, 8(a1) | ||||
|         ld      a1,  (a1) | ||||
| @@ -561,7 +559,7 @@ func ff_flac_decorrelate_ls_32_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_flac_decorrelate_rs_32_rvv, zve32x | ||||
| func ff_flac_decorrelate_rs_32_rvv, zve32x, zba | ||||
|         ld      a0,  (a0) | ||||
|         ld      a2, 8(a1) | ||||
|         ld      a1,  (a1) | ||||
| @@ -582,7 +580,7 @@ func ff_flac_decorrelate_rs_32_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_flac_decorrelate_ms_32_rvv, zve32x | ||||
| func ff_flac_decorrelate_ms_32_rvv, zve32x, zba | ||||
|         ld      a0,  (a0) | ||||
|         ld      a2, 8(a1) | ||||
|         ld      a1,  (a1) | ||||
|   | ||||
| @@ -20,7 +20,7 @@ | ||||
|  | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| func ff_int32_to_float_fmul_scalar_rvv, zve32f | ||||
| func ff_int32_to_float_fmul_scalar_rvv, zve32f, zba | ||||
| NOHWF   fmv.w.x     fa0, a2 | ||||
| NOHWF   mv          a2, a3 | ||||
| 1: | ||||
| @@ -37,7 +37,7 @@ NOHWF   mv          a2, a3 | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_int32_to_float_fmul_array8_rvv, zve32f | ||||
| func ff_int32_to_float_fmul_array8_rvv, zve32f, zba | ||||
|         srai        a4, a4, 3 | ||||
|  | ||||
| 1:      vsetvli     t0, a4, e32, m1, ta, ma | ||||
|   | ||||
| @@ -325,7 +325,7 @@ | ||||
|         ret | ||||
| .endm | ||||
|  | ||||
| func h264_put_chroma_mc_rvv, zve32x | ||||
| func h264_put_chroma_mc_rvv, zve32x, zba | ||||
| 11: | ||||
|         li      a7, 3 | ||||
|         blt     a3, a7, 12f | ||||
| @@ -334,7 +334,7 @@ func h264_put_chroma_mc_rvv, zve32x | ||||
|         do_chroma_mc put 0 | ||||
| endfunc | ||||
|  | ||||
| func h264_avg_chroma_mc_rvv, zve32x | ||||
| func h264_avg_chroma_mc_rvv, zve32x, zba | ||||
| 21: | ||||
|         li      a7, 3 | ||||
|         blt     a3, a7, 22f | ||||
|   | ||||
| @@ -298,7 +298,7 @@ func ff_h264_idct8_add_8_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_h264_idct8_add_16_rvv, zve32x | ||||
| func ff_h264_idct8_add_16_rvv, zve32x, zba | ||||
|         csrwi   vxrm, 0 | ||||
| .Lidct8_add_16_rvv: | ||||
|         li      a4, 8 | ||||
|   | ||||
| @@ -20,7 +20,7 @@ | ||||
|  | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| func ff_add_int16_rvv, zve32x | ||||
| func ff_add_int16_rvv, zve32x, zba | ||||
| 1: | ||||
|         vsetvli t0, a3, e16, m8, ta, ma | ||||
|         vle16.v v16, (a0) | ||||
| @@ -36,7 +36,7 @@ func ff_add_int16_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_add_hfyu_left_pred_bgr32_rvv, zve32x, zbb | ||||
| func ff_add_hfyu_left_pred_bgr32_rvv, zve32x, b | ||||
|         vtype_ivli t1, 4, e8, ta, ma | ||||
|         li      t0, 4 | ||||
|         vsetvl  zero, t0, t1 | ||||
|   | ||||
| @@ -20,7 +20,7 @@ | ||||
|  | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| func ff_ict_float_rvv, zve32f | ||||
| func ff_ict_float_rvv, zve32f, zba | ||||
|         lla     t0, ff_jpeg2000_f_ict_params | ||||
|         flw     ft0,  0(t0) | ||||
|         flw     ft1,  4(t0) | ||||
| @@ -48,7 +48,7 @@ func ff_ict_float_rvv, zve32f | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_rct_int_rvv, zve32x | ||||
| func ff_rct_int_rvv, zve32x, zba | ||||
| 1: | ||||
|         vsetvli t0, a3, e32, m8, ta, ma | ||||
|         vle32.v v16, (a1) | ||||
|   | ||||
| @@ -20,7 +20,7 @@ | ||||
|  | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| func ff_scalarproduct_and_madd_int16_rvv, zve32x | ||||
| func ff_scalarproduct_and_madd_int16_rvv, zve32x, zba | ||||
|         vsetvli t0, zero, e32, m8, ta, ma | ||||
|         vmv.v.x v0, zero | ||||
| 1: | ||||
| @@ -44,7 +44,7 @@ func ff_scalarproduct_and_madd_int16_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_scalarproduct_and_madd_int32_rvv, zve32x | ||||
| func ff_scalarproduct_and_madd_int32_rvv, zve32x, zba | ||||
|         vsetvli t0, zero, e32, m8, ta, ma | ||||
|         vmv.v.x v0, zero | ||||
| 1: | ||||
|   | ||||
| @@ -21,7 +21,7 @@ | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| #if __riscv_xlen >= 64 | ||||
| func ff_lpc_apply_welch_window_rvv, zve64d | ||||
| func ff_lpc_apply_welch_window_rvv, zve64d, zba | ||||
|         vsetvli   t0, zero, e64, m8, ta, ma | ||||
|         vid.v     v0 | ||||
|         addi      t2, a1, -1 | ||||
| @@ -86,7 +86,7 @@ func ff_lpc_apply_welch_window_rvv, zve64d | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_lpc_compute_autocorr_rvv, zve64d, zbb | ||||
| func ff_lpc_compute_autocorr_rvv, zve64d, b | ||||
|         vtype_vli t1, a2, t2, e64, ta, ma, 1 | ||||
|         addi      a2, a2, 1 | ||||
|         li        t0, 1 | ||||
|   | ||||
| @@ -20,7 +20,7 @@ | ||||
|  | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| func ff_opus_postfilter_rvv, zve32f, zbb | ||||
| func ff_opus_postfilter_rvv, zve32f, b | ||||
|         flw     fa0, 0(a2) // g0 | ||||
|         slli    t1, a1, 2 | ||||
|         flw     fa1, 4(a2) // g1 | ||||
|   | ||||
| @@ -332,7 +332,7 @@ | ||||
|         ret | ||||
| .endm | ||||
|  | ||||
| func ff_put_rv40_chroma_mc_rvv, zve32x | ||||
| func ff_put_rv40_chroma_mc_rvv, zve32x, zba | ||||
| 11: | ||||
|         li      a7, 3 | ||||
|         blt     a3, a7, 12f | ||||
| @@ -341,7 +341,7 @@ func ff_put_rv40_chroma_mc_rvv, zve32x | ||||
|         do_chroma_mc put 0 | ||||
| endfunc | ||||
|  | ||||
| func ff_avg_rv40_chroma_mc_rvv, zve32x | ||||
| func ff_avg_rv40_chroma_mc_rvv, zve32x, zba | ||||
| 21: | ||||
|         li      a7, 3 | ||||
|         blt     a3, a7, 22f | ||||
|   | ||||
| @@ -20,7 +20,7 @@ | ||||
|  | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| func ff_sbr_sum64x5_rvv, zve32f | ||||
| func ff_sbr_sum64x5_rvv, zve32f, zba | ||||
|         li      a5, 64 | ||||
|         addi    a1, a0, 64 * 4 | ||||
|         addi    a2, a0, 128 * 4 | ||||
| @@ -49,7 +49,7 @@ func ff_sbr_sum64x5_rvv, zve32f | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_sbr_sum_square_rvv, zve32f | ||||
| func ff_sbr_sum_square_rvv, zve32f, zba | ||||
|         vsetvli t0, zero, e32, m8, ta, ma | ||||
|         slli    a1, a1, 1 | ||||
|         vmv.v.x v8, zero | ||||
| @@ -157,7 +157,7 @@ func ff_sbr_autocorrelate_rvv, zve32f | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_sbr_hf_gen_rvv, zve32f | ||||
| func ff_sbr_hf_gen_rvv, zve32f, zba | ||||
| NOHWF   fmv.w.x fa0, a4 | ||||
| NOHWF   mv      a4, a5 | ||||
| NOHWF   mv      a5, a6 | ||||
| @@ -207,7 +207,7 @@ NOHWF   mv      a5, a6 | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_sbr_hf_g_filt_rvv, zve32f | ||||
| func ff_sbr_hf_g_filt_rvv, zve32f, zba | ||||
|         li      t1, 40 * 2 * 4 | ||||
|         sh3add  a1, a4, a1 | ||||
| 1: | ||||
| @@ -272,16 +272,16 @@ endfunc | ||||
|         ret | ||||
| .endm | ||||
|  | ||||
| func ff_sbr_hf_apply_noise_0_rvv, zve32f, zbb | ||||
| func ff_sbr_hf_apply_noise_0_rvv, zve32f, b | ||||
|         hf_apply_noise 0 | ||||
| endfunc | ||||
|  | ||||
| func ff_sbr_hf_apply_noise_3_rvv, zve32f, zbb | ||||
| func ff_sbr_hf_apply_noise_3_rvv, zve32f, b | ||||
|        not     a4, a4 // invert parity of kx | ||||
|        // fall through | ||||
| endfunc | ||||
|  | ||||
| func ff_sbr_hf_apply_noise_1_rvv, zve32f, zbb | ||||
| func ff_sbr_hf_apply_noise_1_rvv, zve32f, b | ||||
|         vsetvli t0, zero, e32, m4, ta, ma | ||||
|         vid.v   v4 | ||||
|         vxor.vx v4, v4, a4 | ||||
| @@ -289,6 +289,6 @@ func ff_sbr_hf_apply_noise_1_rvv, zve32f, zbb | ||||
|         hf_apply_noise 1 | ||||
| endfunc | ||||
|  | ||||
| func ff_sbr_hf_apply_noise_2_rvv, zve32f, zbb | ||||
| func ff_sbr_hf_apply_noise_2_rvv, zve32f, b | ||||
|         hf_apply_noise 2 | ||||
| endfunc | ||||
|   | ||||
| @@ -20,7 +20,7 @@ | ||||
|  | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| func ff_ssd_int8_vs_int16_rvv, zve32x | ||||
| func ff_ssd_int8_vs_int16_rvv, zve32x, zba | ||||
|         vsetvli      t0, zero, e32, m8, ta, ma | ||||
|         vmv.v.x      v24, zero | ||||
| 1: | ||||
|   | ||||
| @@ -21,7 +21,7 @@ | ||||
|  | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| func ff_decorrelate_ls_rvv, zve32x | ||||
| func ff_decorrelate_ls_rvv, zve32x, zba | ||||
| 1: | ||||
|         vsetvli  t0, a2, e32, m8, ta, ma | ||||
|         sub      a2, a2, t0 | ||||
| @@ -35,7 +35,7 @@ func ff_decorrelate_ls_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_decorrelate_sr_rvv, zve32x | ||||
| func ff_decorrelate_sr_rvv, zve32x, zba | ||||
| 1: | ||||
|         vsetvli  t0, a2, e32, m8, ta, ma | ||||
|         vle32.v  v0, (a0) | ||||
| @@ -49,7 +49,7 @@ func ff_decorrelate_sr_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_decorrelate_sm_rvv, zve32x | ||||
| func ff_decorrelate_sm_rvv, zve32x, zba | ||||
| 1: | ||||
|         vsetvli  t0, a2, e32, m8, ta, ma | ||||
|         vle32.v  v8, (a1) | ||||
| @@ -67,7 +67,7 @@ func ff_decorrelate_sm_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_decorrelate_sf_rvv, zve32x | ||||
| func ff_decorrelate_sf_rvv, zve32x, zba | ||||
|         csrwi    vxrm, 0 | ||||
| 1: | ||||
|         vsetvli  t0, a2, e32, m8, ta, ma | ||||
|   | ||||
| @@ -20,7 +20,7 @@ | ||||
|  | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| func ff_restore_rgb_planes_rvv, zve32x | ||||
| func ff_restore_rgb_planes_rvv, zve32x, zba | ||||
|         li      t1, -0x80 | ||||
|         sub     a3, a3, a6 | ||||
|         sub     a4, a4, a6 | ||||
| @@ -52,7 +52,7 @@ func ff_restore_rgb_planes_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_restore_rgb_planes10_rvv, zve32x | ||||
| func ff_restore_rgb_planes10_rvv, zve32x, zba | ||||
|         li      t1, -0x200 | ||||
|         li      t2, 0x3FF | ||||
|         sub     a3, a3, a6 | ||||
|   | ||||
| @@ -21,7 +21,7 @@ | ||||
|  | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| func ff_vc1_inv_trans_8x8_dc_rvv, zve64x | ||||
| func ff_vc1_inv_trans_8x8_dc_rvv, zve64x, zba | ||||
|         lh            t2, (a2) | ||||
|         vsetivli      zero, 8, e8, mf2, ta, ma | ||||
|         vlse64.v      v0, (a0), a1 | ||||
| @@ -43,7 +43,7 @@ func ff_vc1_inv_trans_8x8_dc_rvv, zve64x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_vc1_inv_trans_4x8_dc_rvv, zve32x | ||||
| func ff_vc1_inv_trans_4x8_dc_rvv, zve32x, zba | ||||
|         lh            t2, (a2) | ||||
|         vsetivli      zero, 8, e8, mf2, ta, ma | ||||
|         vlse32.v      v0, (a0), a1 | ||||
| @@ -67,7 +67,7 @@ func ff_vc1_inv_trans_4x8_dc_rvv, zve32x | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_vc1_inv_trans_8x4_dc_rvv, zve64x | ||||
| func ff_vc1_inv_trans_8x4_dc_rvv, zve64x, zba | ||||
|         lh            t2, (a2) | ||||
|         vsetivli      zero, 4, e8, mf4, ta, ma | ||||
|         vlse64.v      v0, (a0), a1 | ||||
|   | ||||
| @@ -20,7 +20,7 @@ | ||||
|  | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| func ff_vorbis_inverse_coupling_rvv, zve32f | ||||
| func ff_vorbis_inverse_coupling_rvv, zve32f, zba | ||||
|         fmv.w.x   ft0, zero | ||||
| 1: | ||||
|         vsetvli   t0, a2, e32, m4, ta, ma | ||||
|   | ||||
| @@ -21,7 +21,7 @@ | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| #if __riscv_xlen >= 64 | ||||
| func ff_vp7_luma_dc_wht_rvv, zve32x | ||||
| func ff_vp7_luma_dc_wht_rvv, zve32x, zba | ||||
|         li          a2, 4 * 16 * 2 | ||||
|         li          a7, 16 * 2 | ||||
|         jal         t0, 1f | ||||
|   | ||||
| @@ -440,7 +440,7 @@ endconst | ||||
| .endm | ||||
|  | ||||
| .macro epel len size type | ||||
| func ff_put_vp8_epel\len\()_\type\()\size\()_rvv, zve32x | ||||
| func ff_put_vp8_epel\len\()_\type\()\size\()_rvv, zve32x, zba | ||||
|         epel_filter     \size \type t | ||||
|         vsetvlstatic8   \len | ||||
| 1: | ||||
| @@ -455,7 +455,7 @@ endfunc | ||||
| .endm | ||||
|  | ||||
| .macro epel_hv len hsize vsize | ||||
| func ff_put_vp8_epel\len\()_h\hsize\()v\vsize\()_rvv, zve32x | ||||
| func ff_put_vp8_epel\len\()_h\hsize\()v\vsize\()_rvv, zve32x, zba | ||||
| #if __riscv_xlen == 64 | ||||
|         addi    sp, sp, -48 | ||||
|         .irp n,0,1,2,3,4,5 | ||||
|   | ||||
| @@ -21,7 +21,7 @@ | ||||
| #include "libavutil/riscv/asm.S" | ||||
|  | ||||
| #if __riscv_xlen >= 64 | ||||
| func ff_v_32x32_rvi | ||||
| func ff_v_32x32_rvi, zba | ||||
|         ld           t0, (a3) | ||||
|         ld           t1, 8(a3) | ||||
|         ld           t2, 16(a3) | ||||
| @@ -42,7 +42,7 @@ func ff_v_32x32_rvi | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_v_16x16_rvi | ||||
| func ff_v_16x16_rvi, zba | ||||
|         ld           t0, (a3) | ||||
|         ld           t1, 8(a3) | ||||
|         .rept 8 | ||||
| @@ -57,7 +57,7 @@ func ff_v_16x16_rvi | ||||
|         ret | ||||
| endfunc | ||||
|  | ||||
| func ff_v_8x8_rvi | ||||
| func ff_v_8x8_rvi, zba | ||||
|         ld           t0, (a3) | ||||
|         .rept 4 | ||||
|         add          a7, a0, a1 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user