mirror of
				https://github.com/nyanmisaka/ffmpeg-rockchip.git
				synced 2025-10-30 20:16:42 +08:00 
			
		
		
		
	lavc/alacdsp: unroll RISC-V V loops
This increases the group multiplier as per T-Head C910 benchmarks: alac_append_extra_bits_mono_c: 803.0 alac_append_extra_bits_stereo_c: 1604.2 alac_decorrelate_stereo_c: 1077.5 LMUL=1 alac_append_extra_bits_mono_rvv_i32: 418.2 alac_append_extra_bits_stereo_rvv_i32: 693.2 alac_decorrelate_stereo_rvv_i32: 673.5 LMUL=2 alac_append_extra_bits_mono_rvv_i32: 382.2 alac_append_extra_bits_stereo_rvv_i32: 648.2 alac_decorrelate_stereo_rvv_i32: 542.7 LMUL=4 alac_append_extra_bits_mono_rvv_i32: 241.5 alac_append_extra_bits_stereo_rvv_i32: 512.7 alac_decorrelate_stereo_rvv_i32: 364.2 LMUL=8 alac_append_extra_bits_mono_rvv_i32: 239.7 alac_append_extra_bits_stereo_rvv_i32: 497.2 alac_decorrelate_stereo_rvv_i32: 426.7
This commit is contained in:
		| @@ -25,7 +25,7 @@ func ff_alac_decorrelate_stereo_rvv, zve32x | ||||
|         ld          a4, 8(a0) | ||||
|         ld          a0, 0(a0) | ||||
| 1: | ||||
|         vsetvli     t0, a1, e32, m1, ta, ma | ||||
|         vsetvli     t0, a1, e32, m4, ta, ma | ||||
|         vle32.v     v24, (a4) | ||||
|         sub         a1, a1, t0 | ||||
|         vle32.v     v16, (a0) | ||||
| @@ -47,7 +47,7 @@ func ff_alac_append_extra_bits_mono_rvv, zve32x | ||||
|         ld      a0, (a0) | ||||
|         ld      a1, (a1) | ||||
| 1: | ||||
|         vsetvli t0, a4, e32, m1, ta, ma | ||||
|         vsetvli t0, a4, e32, m8, ta, ma | ||||
|         vle32.v v16, (a0) | ||||
|         sub     a4, a4, t0 | ||||
|         vle32.v v24, (a1) | ||||
| @@ -67,7 +67,7 @@ func ff_alac_append_extra_bits_stereo_rvv, zve32x | ||||
|         ld      a7, 8(a1) | ||||
|         ld      a1,  (a1) | ||||
| 1: | ||||
|         vsetvli t0, a4, e32, m1, ta, ma | ||||
|         vsetvli t0, a4, e32, m8, ta, ma | ||||
|         vle32.v v16, (a0) | ||||
|         sub     a4, a4, t0 | ||||
|         vle32.v v0, (a6) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Rémi Denis-Courmont
					Rémi Denis-Courmont