History

lavc/riscv: add forward-edge CFI landing pads

Rémi Denis-Courmont committed 2 years ago

Commit f2c30fe1 parent a14d21a49 files · +194 −0Browse files

Showing the changes to libavcodec (49 of 49 files). Show all

Unified · Split

49 files
  1. libavcodec/riscv/aacencdsp_rvv.S +2 −0
  2. libavcodec/riscv/aacpsdsp_rvv.S +5 −0
  3. libavcodec/riscv/ac3dsp_rvb.S +2 −0
  4. libavcodec/riscv/ac3dsp_rvv.S +4 −0
  5. libavcodec/riscv/ac3dsp_rvvb.S +1 −0
  6. libavcodec/riscv/alacdsp_rvv.S +3 −0
  7. libavcodec/riscv/audiodsp_rvf.S +1 −0
  8. libavcodec/riscv/audiodsp_rvv.S +2 −0
  9. libavcodec/riscv/blockdsp_rvv.S +4 −0
  10. libavcodec/riscv/bswapdsp_rvb.S +1 −0
  11. libavcodec/riscv/bswapdsp_rvv.S +1 −0
  12. libavcodec/riscv/exrdsp_rvv.S +1 −0
  13. libavcodec/riscv/flacdsp_rvv.S +20 −0
  14. libavcodec/riscv/fmtconvert_rvv.S +2 −0
  15. libavcodec/riscv/g722dsp_rvv.S +1 −0
  16. libavcodec/riscv/h263dsp_rvv.S +2 −0
  17. libavcodec/riscv/h264_mc_chroma.S +8 −0
  18. libavcodec/riscv/h264addpx_rvv.S +4 −0
  19. libavcodec/riscv/h264dsp_rvv.S +5 −0
  20. libavcodec/riscv/h264idct_rvv.S +16 −0
  21. libavcodec/riscv/huffyuvdsp_rvv.S +2 −0
  22. libavcodec/riscv/idctdsp_rvv.S +3 −0
  23. libavcodec/riscv/jpeg2000dsp_rvv.S +2 −0
  24. libavcodec/riscv/llauddsp_rvv.S +2 −0
  25. libavcodec/riscv/llviddsp_rvv.S +1 −0
  26. libavcodec/riscv/llvidencdsp_rvv.S +1 −0
  27. libavcodec/riscv/lpc_rvv.S +2 −0
  28. libavcodec/riscv/me_cmp_rvv.S +17 −0
  29. libavcodec/riscv/opusdsp_rvv.S +1 −0
  30. libavcodec/riscv/pixblockdsp_rvi.S +2 −0
  31. libavcodec/riscv/pixblockdsp_rvv.S +4 −0
  32. libavcodec/riscv/rv34dsp_rvv.S +2 −0
  33. libavcodec/riscv/rv40dsp_rvv.S +4 −0
  34. libavcodec/riscv/sbrdsp_rvv.S +9 −0
  35. libavcodec/riscv/startcode_rvb.S +1 −0
  36. libavcodec/riscv/startcode_rvv.S +1 −0
  37. libavcodec/riscv/svqenc_rvv.S +1 −0
  38. libavcodec/riscv/takdsp_rvv.S +4 −0
  39. libavcodec/riscv/utvideodsp_rvv.S +2 −0
  40. libavcodec/riscv/vc1dsp_rvi.S +2 −0
  41. libavcodec/riscv/vc1dsp_rvv.S +11 −0
  42. libavcodec/riscv/vorbisdsp_rvv.S +1 −0
  43. libavcodec/riscv/vp7dsp_rvv.S +3 −0
  44. libavcodec/riscv/vp8dsp_rvi.S +3 −0
  45. libavcodec/riscv/vp8dsp_rvv.S +12 −0
  46. libavcodec/riscv/vp9_intra_rvi.S +3 −0
  47. libavcodec/riscv/vp9_intra_rvv.S +7 −0
  48. libavcodec/riscv/vp9_mc_rvi.S +5 −0
  49. libavcodec/riscv/vp9_mc_rvv.S +1 −0
libavcodec/riscv/aacencdsp_rvv.S+2−0
@@ -22,6 +22,7 @@ · 21 unmodified lines
2222 #include "libavutil/riscv/asm.S"
2323
2424 func ff_abs_pow34_rvv, zve32f, zba
25+ lpad 0
2526 1:
2627 vsetvli t0, a2, e32, m8, ta, ma
2728 sub a2, a2, t0
@@ -39,6 +40,7 @@ func ff_abs_pow34_rvv, zve32f, zba · 11 unmodified lines
3940 endfunc
4041
4142 func ff_aac_quant_bands_rvv, zve32f, zba
43+ lpad 0
4244 NOHWF fmv.w.x fa0, a6
4345 NOHWF fmv.w.x fa1, a7
4446 fcvt.s.w ft0, a5
libavcodec/riscv/aacpsdsp_rvv.S+5−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_ps_add_squares_rvv, zve64f, zba
24+ lpad 0
2425 li t1, 32
2526 1:
2627 vsetvli t0, a2, e32, m4, ta, ma
@@ -40,6 +41,7 @@ func ff_ps_add_squares_rvv, zve64f, zba · 13 unmodified lines
4041 endfunc
4142
4243 func ff_ps_mul_pair_single_rvv, zve32f, zba
44+ lpad 0
4345 1:
4446 vsetvli t0, a3, e32, m4, ta, ma
4547 vlseg2e32.v v24, (a1)
@@ -57,6 +59,7 @@ func ff_ps_mul_pair_single_rvv, zve32f, zba · 11 unmodified lines
5759 endfunc
5860
5961 func ff_ps_hybrid_analysis_rvv, zve32f
62+ lpad 0
6063 /* We need 26 FP registers, for 20 scratch ones. Spill fs0-fs5. */
6164 addi sp, sp, -48
6265 .irp n, 0, 1, 2, 3, 4, 5
@@ -135,6 +138,7 @@ NOHWD flw fs\n, (4 * \n)(sp) · 72 unmodified lines
135138 endfunc
136139
137140 func ff_ps_hybrid_analysis_ileave_rvv, zve32x /* no zve32f here */, zba
141+ lpad 0
138142 slli t0, a2, 5 + 1 + 2 // ctz(32 * 2 * 4)
139143 sh2add a1, a2, a1
140144 add a0, a0, t0
@@ -208,6 +212,7 @@ func ff_ps_hybrid_synthesis_deint_rvv, zve64x, zba · 67 unmodified lines
208212 endfunc
209213
210214 func ff_ps_stereo_interpolate_rvv, zve32f, b
215+ lpad 0
211216 vsetvli t0, zero, e32, m2, ta, ma
212217 vid.v v24
213218 flw ft0, (a2)
libavcodec/riscv/ac3dsp_rvb.S+2−0
@@ -22,6 +22,7 @@ · 21 unmodified lines
2222 #include "libavutil/riscv/asm.S"
2323
2424 func ff_ac3_exponent_min_rvb, zbb
25+ lpad 0
2526 beqz a1, 3f
2627 1:
2728 addi a2, a2, -1
@@ -43,6 +44,7 @@ func ff_ac3_exponent_min_rvb, zbb · 15 unmodified lines
4344 endfunc
4445
4546 func ff_extract_exponents_rvb, zbb
47+ lpad 0
4648 1:
4749 lw t0, (a1)
4850 addi a0, a0, 1
libavcodec/riscv/ac3dsp_rvv.S+4−0
@@ -22,6 +22,7 @@ · 21 unmodified lines
2222 #include "libavutil/riscv/asm.S"
2323
2424 func ff_ac3_exponent_min_rvv, zve32x
25+ lpad 0
2526 beqz a1, 3f
2627 1:
2728 vsetvli t2, a2, e8, m8, ta, ma
@@ -44,6 +45,7 @@ func ff_ac3_exponent_min_rvv, zve32x · 16 unmodified lines
4445 endfunc
4546
4647 func ff_float_to_fixed24_rvv, zve32f, zba
48+ lpad 0
4749 li t1, 1 << 24
4850 fcvt.s.w f0, t1
4951 1:
@@ -62,6 +64,7 @@ endfunc · 12 unmodified lines
6264
6365 #if __riscv_xlen >= 64
6466 func ff_sum_square_butterfly_int32_rvv, zve64x, zba
67+ lpad 0
6568 vsetvli t0, zero, e64, m8, ta, ma
6669 vmv.v.x v0, zero
6770 vmv.v.x v8, zero
@@ -102,6 +105,7 @@ endfunc · 34 unmodified lines
102105 #endif
103106
104107 func ff_sum_square_butterfly_float_rvv, zve32f, zba
108+ lpad 0
105109 vsetvli t0, zero, e32, m8, ta, ma
106110 vmv.v.x v0, zero
107111 vmv.v.x v8, zero
libavcodec/riscv/ac3dsp_rvvb.S+1−0
@@ -22,6 +22,7 @@ · 21 unmodified lines
2222 #include "libavutil/riscv/asm.S"
2323
2424 func ff_extract_exponents_rvvb, zve32x, zvbb, zba
25+ lpad 0
2526 1:
2627 vsetvli t0, a2, e32, m8, ta, ma
2728 vle32.v v8, (a1)
libavcodec/riscv/alacdsp_rvv.S+3−0
@@ -22,6 +22,7 @@ · 21 unmodified lines
2222
2323 #if (__riscv_xlen == 64)
2424 func ff_alac_decorrelate_stereo_rvv, zve32x, zba
25+ lpad 0
2526 ld a4, 8(a0)
2627 ld a0, 0(a0)
2728 1:
@@ -44,6 +45,7 @@ func ff_alac_decorrelate_stereo_rvv, zve32x, zba · 16 unmodified lines
4445 endfunc
4546
4647 func ff_alac_append_extra_bits_mono_rvv, zve32x, zba
48+ lpad 0
4749 ld a0, (a0)
4850 ld a1, (a1)
4951 1:
@@ -62,6 +64,7 @@ func ff_alac_append_extra_bits_mono_rvv, zve32x, zba · 12 unmodified lines
6264 endfunc
6365
6466 func ff_alac_append_extra_bits_stereo_rvv, zve32x, zba
67+ lpad 0
6568 ld a6, 8(a0)
6669 ld a0, (a0)
6770 ld a7, 8(a1)
libavcodec/riscv/audiodsp_rvf.S+1−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_vector_clipf_rvf, f
24+ lpad 0
2425 NOHWF fmv.w.x fa0, a3
2526 NOHWF fmv.w.x fa1, a4
2627 1:
libavcodec/riscv/audiodsp_rvv.S+2−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_scalarproduct_int16_rvv, zve32x, zba
24+ lpad 0
2425 vsetvli t0, zero, e32, m8, ta, ma
2526 vmv.v.x v8, zero
2627 vmv.s.x v0, zero
@@ -56,6 +57,7 @@ func ff_vector_clip_int32_rvv, zve32x, zba · 29 unmodified lines
5657 endfunc
5758
5859 func ff_vector_clipf_rvv, zve32f, zba
60+ lpad 0
5961 NOHWF fmv.w.x fa0, a3
6062 NOHWF fmv.w.x fa1, a4
6163 1:
libavcodec/riscv/blockdsp_rvv.S+4−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_clear_block_rvv, zve64x
24+ lpad 0
2425 vsetivli zero, 16, e64, m8, ta, ma
2526 vmv.v.i v0, 0
2627 vse64.v v0, (a0)
@@ -29,6 +30,7 @@ func ff_clear_block_rvv, zve64x · 2 unmodified lines
2930 endfunc
3031
3132 func ff_clear_blocks_rvv, zve64x
33+ lpad 0
3234 vsetivli zero, 16, e64, m8, ta, ma
3335 vmv.v.i v0, 0
3436
@@ -42,6 +44,7 @@ func ff_clear_blocks_rvv, zve64x · 7 unmodified lines
4244 endfunc
4345
4446 func ff_fill_block16_rvv, zve32x
47+ lpad 0
4548 vsetivli t0, 16, e8, m1, ta, ma
4649 vmv.v.x v8, a1
4750 1:
@@ -54,6 +57,7 @@ func ff_fill_block16_rvv, zve32x · 6 unmodified lines
5457 endfunc
5558
5659 func ff_fill_block8_rvv, zve64x
60+ lpad 0
5761 vsetvli t0, zero, e8, m4, ta, ma
5862 vmv.v.x v8, a1
5963 vsetvli t0, a3, e64, m4, ta, ma
libavcodec/riscv/bswapdsp_rvb.S+1−0
@@ -24,6 +24,7 @@ · 23 unmodified lines
2424
2525 #if (__riscv_xlen >= 64)
2626 func ff_bswap32_buf_rvb, zba, zbb
27+ lpad 0
2728 bswap32_rvb a0, a1, a2
2829 endfunc
2930 #endif
libavcodec/riscv/bswapdsp_rvv.S+1−0
@@ -22,6 +22,7 @@ · 21 unmodified lines
2222 #include "libavutil/riscv/asm.S"
2323
2424 func ff_bswap16_buf_rvv, zve32x, zba
25+ lpad 0
2526 1:
2627 vsetvli t0, a2, e16, m8, ta, ma
2728 vle16.v v8, (a1)
libavcodec/riscv/exrdsp_rvv.S+1−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_reorder_pixels_rvv, zve32x, zba
24+ lpad 0
2425 srai a2, a2, 1
2526 add t1, a1, a2
2627 1:
libavcodec/riscv/flacdsp_rvv.S+20−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_flac_lpc16_rvv, zve32x, b
24+ lpad 0
2425 vtype_vli t0, a2, t2, e32, ta, ma
2526 vsetvl zero, a2, t0
2627 vle32.v v8, (a1)
@@ -46,6 +47,7 @@ endfunc · 19 unmodified lines
4647
4748 #if (__riscv_xlen == 64)
4849 func ff_flac_lpc32_rvv, zve64x, zba
50+ lpad 0
4951 addi t2, a2, -16
5052 ble t2, zero, ff_flac_lpc32_rvv_simple
5153 vsetivli zero, 1, e64, m1, ta, ma
@@ -77,6 +79,7 @@ func ff_flac_lpc32_rvv, zve64x, zba · 25 unmodified lines
7779 endfunc
7880
7981 func ff_flac_lpc32_rvv_simple, zve64x, b
82+ lpad 0
8083 vtype_vli t3, a2, t1, e64, ta, ma
8184 vntypei t2, t3
8285 vsetvl zero, a2, t3 // e64
@@ -105,6 +108,7 @@ func ff_flac_lpc32_rvv_simple, zve64x, b · 22 unmodified lines
105108 endfunc
106109
107110 func ff_flac_lpc33_rvv, zve64x, b
111+ lpad 0
108112 vtype_vli t0, a3, t1, e64, ta, ma
109113 vsetvl zero, a3, t0
110114 vmv.s.x v0, zero
@@ -133,6 +137,7 @@ endfunc · 22 unmodified lines
133137 #endif
134138
135139 func ff_flac_wasted32_rvv, zve32x, zba
140+ lpad 0
136141 1:
137142 vsetvli t0, a2, e32, m8, ta, ma
138143 vle32.v v8, (a0)
@@ -146,6 +151,7 @@ func ff_flac_wasted32_rvv, zve32x, zba · 7 unmodified lines
146151 endfunc
147152
148153 func ff_flac_wasted33_rvv, zve64x, zba
154+ lpad 0
149155 srli t0, a2, 5
150156 li t1, 1
151157 bnez t0, 2f
@@ -178,6 +184,7 @@ endfunc · 26 unmodified lines
178184
179185 #if (__riscv_xlen == 64)
180186 func ff_flac_decorrelate_indep2_16_rvv, zve32x, zba
187+ lpad 0
181188 ld a0, (a0)
182189 ld a2, 8(a1)
183190 ld a1, (a1)
@@ -201,6 +208,7 @@ func ff_flac_decorrelate_indep2_16_rvv, zve32x, zba · 17 unmodified lines
201208 endfunc
202209
203210 func ff_flac_decorrelate_indep4_16_rvv, zve32x, zba
211+ lpad 0
204212 ld a0, (a0)
205213 ld a2, 8(a1)
206214 ld t1, 16(a1)
@@ -234,6 +242,7 @@ func ff_flac_decorrelate_indep4_16_rvv, zve32x, zba · 27 unmodified lines
234242 endfunc
235243
236244 func ff_flac_decorrelate_indep6_16_rvv, zve32x, zba
245+ lpad 0
237246 ld a0, (a0)
238247 ld a2, 8(a1)
239248 ld t1, 16(a1)
@@ -279,6 +288,7 @@ func ff_flac_decorrelate_indep6_16_rvv, zve32x, zba · 39 unmodified lines
279288 endfunc
280289
281290 func ff_flac_decorrelate_indep8_16_rvv, zve32x, zba
291+ lpad 0
282292 ld a0, (a0)
283293 ld a2, 8(a1)
284294 ld t1, 16(a1)
@@ -333,6 +343,7 @@ func ff_flac_decorrelate_indep8_16_rvv, zve32x, zba · 48 unmodified lines
333343 endfunc
334344
335345 func ff_flac_decorrelate_ls_16_rvv, zve32x, zba
346+ lpad 0
336347 ld a0, (a0)
337348 ld a2, 8(a1)
338349 ld a1, (a1)
@@ -357,6 +368,7 @@ func ff_flac_decorrelate_ls_16_rvv, zve32x, zba · 18 unmodified lines
357368 endfunc
358369
359370 func ff_flac_decorrelate_rs_16_rvv, zve32x, zba
371+ lpad 0
360372 ld a0, (a0)
361373 ld a2, 8(a1)
362374 ld a1, (a1)
@@ -381,6 +393,7 @@ func ff_flac_decorrelate_rs_16_rvv, zve32x, zba · 18 unmodified lines
381393 endfunc
382394
383395 func ff_flac_decorrelate_ms_16_rvv, zve32x, zba
396+ lpad 0
384397 ld a0, (a0)
385398 ld a2, 8(a1)
386399 ld a1, (a1)
@@ -407,6 +420,7 @@ func ff_flac_decorrelate_ms_16_rvv, zve32x, zba · 20 unmodified lines
407420 endfunc
408421
409422 func ff_flac_decorrelate_indep2_32_rvv, zve32x, zba
423+ lpad 0
410424 ld a0, (a0)
411425 ld a2, 8(a1)
412426 ld a1, (a1)
@@ -427,6 +441,7 @@ func ff_flac_decorrelate_indep2_32_rvv, zve32x, zba · 14 unmodified lines
427441 endfunc
428442
429443 func ff_flac_decorrelate_indep4_32_rvv, zve32x, zba
444+ lpad 0
430445 ld a0, (a0)
431446 ld a2, 8(a1)
432447 ld t1, 16(a1)
@@ -456,6 +471,7 @@ func ff_flac_decorrelate_indep4_32_rvv, zve32x, zba · 23 unmodified lines
456471 endfunc
457472
458473 func ff_flac_decorrelate_indep6_32_rvv, zve32x, zba
474+ lpad 0
459475 ld a0, (a0)
460476 ld a2, 8(a1)
461477 ld t1, 16(a1)
@@ -494,6 +510,7 @@ func ff_flac_decorrelate_indep6_32_rvv, zve32x, zba · 32 unmodified lines
494510 endfunc
495511
496512 func ff_flac_decorrelate_indep8_32_rvv, zve32x, zba
513+ lpad 0
497514 ld a0, (a0)
498515 ld a2, 8(a1)
499516 ld t1, 16(a1)
@@ -539,6 +556,7 @@ func ff_flac_decorrelate_indep8_32_rvv, zve32x, zba · 39 unmodified lines
539556 endfunc
540557
541558 func ff_flac_decorrelate_ls_32_rvv, zve32x, zba
559+ lpad 0
542560 ld a0, (a0)
543561 ld a2, 8(a1)
544562 ld a1, (a1)
@@ -560,6 +578,7 @@ func ff_flac_decorrelate_ls_32_rvv, zve32x, zba · 15 unmodified lines
560578 endfunc
561579
562580 func ff_flac_decorrelate_rs_32_rvv, zve32x, zba
581+ lpad 0
563582 ld a0, (a0)
564583 ld a2, 8(a1)
565584 ld a1, (a1)
@@ -581,6 +600,7 @@ func ff_flac_decorrelate_rs_32_rvv, zve32x, zba · 15 unmodified lines
581600 endfunc
582601
583602 func ff_flac_decorrelate_ms_32_rvv, zve32x, zba
603+ lpad 0
584604 ld a0, (a0)
585605 ld a2, 8(a1)
586606 ld a1, (a1)
libavcodec/riscv/fmtconvert_rvv.S+2−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_int32_to_float_fmul_scalar_rvv, zve32f, zba
24+ lpad 0
2425 NOHWF fmv.w.x fa0, a2
2526 NOHWF mv a2, a3
2627 1:
@@ -38,6 +39,7 @@ NOHWF mv a2, a3 · 11 unmodified lines
3839 endfunc
3940
4041 func ff_int32_to_float_fmul_array8_rvv, zve32f, zba
42+ lpad 0
4143 srai a4, a4, 3
4244
4345 1: vsetvli t0, a4, e32, m1, ta, ma
libavcodec/riscv/g722dsp_rvv.S+1−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_g722_apply_qmf_rvv, zve32x
24+ lpad 0
2425 lla t0, qmf_coeffs
2526 vsetivli zero, 12, e16, m2, ta, ma
2627 vlseg2e16.v v28, (a0)
libavcodec/riscv/h263dsp_rvv.S+2−0
@@ -23,6 +23,7 @@ · 22 unmodified lines
2323 .option push
2424 .option norelax
2525 func ff_h263_h_loop_filter_rvv, zve32x
26+ lpad 0
2627 addi a0, a0, -2
2728 vsetivli zero, 8, e8, mf2, ta, ma
2829 vlsseg4e8.v v8, (a0), a1
@@ -83,6 +84,7 @@ endfunc · 54 unmodified lines
8384 .option pop
8485
8586 func ff_h263_v_loop_filter_rvv, zve32x
87+ lpad 0
8688 sub a4, a0, a1
8789 vsetivli zero, 8, e8, mf2, ta, ma
8890 vle8.v v10, (a0)
libavcodec/riscv/h264_mc_chroma.S+8−0
@@ -325,6 +325,7 @@ · 324 unmodified lines
325325 ret
326326 .endm
327327
328+ .variant_cc h264_put_chroma_mc_rvv
328329 func h264_put_chroma_mc_rvv, zve32x, zba
329330 11:
330331 li a7, 3
@@ -334,6 +335,7 @@ func h264_put_chroma_mc_rvv, zve32x, zba · 3 unmodified lines
334335 do_chroma_mc put 0
335336 endfunc
336337
338+ .variant_cc h264_avg_chroma_mc_rvv
337339 func h264_avg_chroma_mc_rvv, zve32x, zba
338340 21:
339341 li a7, 3
@@ -344,31 +346,37 @@ func h264_avg_chroma_mc_rvv, zve32x, zba · 4 unmodified lines
344346 endfunc
345347
346348 func h264_put_chroma_mc8_rvv, zve32x
349+ lpad 0
347350 li t6, 8
348351 j 11b
349352 endfunc
350353
351354 func h264_put_chroma_mc4_rvv, zve32x
355+ lpad 0
352356 li t6, 4
353357 j 11b
354358 endfunc
355359
356360 func h264_put_chroma_mc2_rvv, zve32x
361+ lpad 0
357362 li t6, 2
358363 j 11b
359364 endfunc
360365
361366 func h264_avg_chroma_mc8_rvv, zve32x
367+ lpad 0
362368 li t6, 8
363369 j 21b
364370 endfunc
365371
366372 func h264_avg_chroma_mc4_rvv, zve32x
373+ lpad 0
367374 li t6, 4
368375 j 21b
369376 endfunc
370377
371378 func h264_avg_chroma_mc2_rvv, zve32x
379+ lpad 0
372380 li t6, 2
373381 j 21b
374382 endfunc
libavcodec/riscv/h264addpx_rvv.S+4−0
@@ -37,6 +37,7 @@ · 36 unmodified lines
3737 .endm
3838
3939 func ff_h264_add_pixels4_8_rvv, zve32x
40+ lpad 0
4041 vsetivli zero, 4, e8, mf4, ta, ma
4142 vlse32.v v8, (a0), a2
4243 vsetivli zero, 4 * 4, e8, m1, ta, ma
@@ -54,6 +55,7 @@ func ff_h264_add_pixels4_8_rvv, zve32x · 11 unmodified lines
5455 endfunc
5556
5657 func ff_h264_add_pixels4_16_rvv, zve64x
58+ lpad 0
5759 vsetivli zero, 4, e16, mf2, ta, ma
5860 vlse64.v v8, (a0), a2
5961 vsetivli zero, 4 * 4, e16, m2, ta, ma
@@ -71,6 +73,7 @@ func ff_h264_add_pixels4_16_rvv, zve64x · 11 unmodified lines
7173 endfunc
7274
7375 func ff_h264_add_pixels8_8_rvv, zve64x
76+ lpad 0
7477 li t0, 8 * 8
7578 vsetivli zero, 8, e8, mf2, ta, ma
7679 vlse64.v v8, (a0), a2
@@ -89,6 +92,7 @@ func ff_h264_add_pixels8_8_rvv, zve64x · 12 unmodified lines
8992 endfunc
9093
9194 func ff_h264_add_pixels8_16_rvv, zve32x
95+ lpad 0
9296 li t0, 8
9397 vsetivli zero, 8, e16, m1, ta, ma
9498 1:
libavcodec/riscv/h264dsp_rvv.S+5−0
@@ -164,6 +164,7 @@ endfunc · 163 unmodified lines
164164
165165 .irp w, 16, 8, 4, 2
166166 func ff_h264_weight_pixels\w\()_8_rvv, zve32x
167+ lpad 0
167168 li a6, \w
168169 .if \w == 16
169170 j ff_h264_weight_pixels_simple_8_rvv
@@ -173,6 +174,7 @@ func ff_h264_weight_pixels\w\()_8_rvv, zve32x · 3 unmodified lines
173174 endfunc
174175
175176 func ff_h264_biweight_pixels\w\()_8_rvv, zve32x
177+ lpad 0
176178 li t6, \w
177179 .if \w == 16
178180 j ff_h264_biweight_pixels_simple_8_rvv
@@ -272,6 +274,7 @@ func ff_h264_loop_filter_luma_8_rvv, zve32x · 93 unmodified lines
272274 endfunc
273275
274276 func ff_h264_v_loop_filter_luma_8_rvv, zve32x
277+ lpad 0
275278 vsetivli zero, 4, e32, m1, ta, ma
276279 vle8.v v4, (a4)
277280 li t0, 0x01010101
@@ -299,6 +302,7 @@ func ff_h264_v_loop_filter_luma_8_rvv, zve32x · 21 unmodified lines
299302 endfunc
300303
301304 func ff_h264_h_loop_filter_luma_8_rvv, zve32x
305+ lpad 0
302306 vsetivli zero, 4, e32, m1, ta, ma
303307 vle8.v v4, (a4)
304308 li t0, 0x01010101
@@ -313,6 +317,7 @@ func ff_h264_h_loop_filter_luma_8_rvv, zve32x · 8 unmodified lines
313317 endfunc
314318
315319 func ff_h264_h_loop_filter_luma_mbaff_8_rvv, zve32x
320+ lpad 0
316321 vsetivli zero, 4, e16, mf2, ta, ma
317322 vle8.v v4, (a4)
318323 li t0, 0x0101
libavcodec/riscv/h264idct_rvv.S+16−0
@@ -55,6 +55,7 @@ func ff_h264_idct4_rvv, zve32x · 54 unmodified lines
5555 endfunc
5656
5757 func ff_h264_idct_add_8_rvv, zve32x
58+ lpad 0
5859 csrwi vxrm, 0
5960 .Lidct_add4_8_rvv:
6061 vsetivli zero, 4, e16, mf2, ta, ma
@@ -213,6 +214,7 @@ func ff_h264_idct8_rvv, zve32x · 152 unmodified lines
213214 endfunc
214215
215216 func ff_h264_idct8_add_8_rvv, zve32x
217+ lpad 0
216218 csrwi vxrm, 0
217219 .Lidct8_add_8_rvv:
218220 vsetivli zero, 8, e16, m1, ta, ma
@@ -405,11 +407,13 @@ endfunc · 186 unmodified lines
405407
406408 .irp depth, 9, 10, 12, 14
407409 func ff_h264_idct_add_\depth\()_rvv, zve32x
410+ lpad 0
408411 li a5, (1 << \depth) - 1
409412 j ff_h264_idct_add_16_rvv
410413 endfunc
411414
412415 func ff_h264_idct8_add_\depth\()_rvv, zve32x
416+ lpad 0
413417 li a5, (1 << \depth) - 1
414418 j ff_h264_idct8_add_16_rvv
415419 endfunc
@@ -417,6 +421,7 @@ endfunc · 1 unmodified line
417421
418422 .macro idct_dc_add8 width
419423 func ff_h264_idct\width\()_dc_add_8_rvv, zve64x
424+ lpad 0
420425 .if \width == 8
421426 vsetivli zero, \width, e8, mf2, ta, ma
422427 .else
@@ -517,11 +522,13 @@ idct_dc_add 8 · 94 unmodified lines
517522
518523 .irp depth,9,10,12,14
519524 func ff_h264_idct4_dc_add_\depth\()_rvv, zve64x
525+ lpad 0
520526 li a5, (1 << \depth) - 1
521527 j ff_h264_idct4_dc_add_16_rvv
522528 endfunc
523529
524530 func ff_h264_idct8_dc_add_\depth\()_rvv, zve64x
531+ lpad 0
525532 li a5, (1 << \depth) - 1
526533 j ff_h264_idct8_dc_add_16_rvv
527534 endfunc
@@ -534,6 +541,9 @@ endconst · 6 unmodified lines
534541
535542 .macro idct4_adds type, depth
536543 func ff_h264_idct_add\type\()_\depth\()_rvv, zve32x, b
544+.if \depth == 8
545+ lpad 0
546+.endif
537547 csrwi vxrm, 0
538548 lla t0, ff_h264_scan8
539549 li t1, 32 * (\depth / 8)
@@ -609,6 +619,9 @@ idct4_adds 16intra, \depth · 69 unmodified lines
609619
610620 #if (__riscv_xlen == 64)
611621 func ff_h264_idct8_add4_\depth\()_rvv, zve32x, b
622+.if \depth == 8
623+ lpad 0
624+.endif
612625 csrwi vxrm, 0
613626 addi sp, sp, -48
614627 lla t0, ff_h264_scan8
@@ -686,17 +699,20 @@ endfunc · 71 unmodified lines
686699
687700 .irp depth, 9, 10, 12, 14
688701 func ff_h264_idct_add16_\depth\()_rvv, zve32x
702+ lpad 0
689703 li a5, (1 << \depth) - 1
690704 j ff_h264_idct_add16_16_rvv
691705 endfunc
692706
693707 func ff_h264_idct_add16intra_\depth\()_rvv, zve32x
708+ lpad 0
694709 li a5, (1 << \depth) - 1
695710 j ff_h264_idct_add16intra_16_rvv
696711 endfunc
697712
698713 #if (__riscv_xlen == 64)
699714 func ff_h264_idct8_add4_\depth\()_rvv, zve32x
715+ lpad 0
700716 li a5, (1 << \depth) - 1
701717 j ff_h264_idct8_add4_16_rvv
702718 endfunc
libavcodec/riscv/huffyuvdsp_rvv.S+2−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_add_int16_rvv, zve32x, zba
24+ lpad 0
2425 1:
2526 vsetvli t0, a3, e16, m8, ta, ma
2627 vle16.v v16, (a0)
@@ -37,6 +38,7 @@ func ff_add_int16_rvv, zve32x, zba · 10 unmodified lines
3738 endfunc
3839
3940 func ff_add_hfyu_left_pred_bgr32_rvv, zve32x, b
41+ lpad 0
4042 vtype_ivli t1, 4, e8, ta, ma
4143 li t0, 4
4244 vsetvl zero, t0, t1
libavcodec/riscv/idctdsp_rvv.S+3−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_put_pixels_clamped_rvv, zve64x
24+ lpad 0
2425 li t0, 8 * 8
2526 vsetvli zero, t0, e16, m8, ta, ma
2627 vle16.v v24, (a0)
@@ -35,6 +36,7 @@ func ff_put_pixels_clamped_rvv, zve64x · 8 unmodified lines
3536 endfunc
3637
3738 func ff_put_signed_pixels_clamped_rvv, zve64x
39+ lpad 0
3840 li t0, 8 * 8
3941 vsetvli zero, t0, e8, m4, ta, ma
4042 vle16.v v24, (a0)
@@ -47,6 +49,7 @@ func ff_put_signed_pixels_clamped_rvv, zve64x · 6 unmodified lines
4749 endfunc
4850
4951 func ff_add_pixels_clamped_rvv, zve64x
52+ lpad 0
5053 vsetivli zero, 8, e8, mf2, ta, ma
5154 li t0, 8 * 8
5255 vlse64.v v16, (a1), a2
libavcodec/riscv/jpeg2000dsp_rvv.S+2−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_ict_float_rvv, zve32f, zba
24+ lpad 0
2425 lla t0, ff_jpeg2000_f_ict_params
2526 flw ft0, 0(t0)
2627 flw ft1, 4(t0)
@@ -49,6 +50,7 @@ func ff_ict_float_rvv, zve32f, zba · 22 unmodified lines
4950 endfunc
5051
5152 func ff_rct_int_rvv, zve32x, zba
53+ lpad 0
5254 1:
5355 vsetvli t0, a3, e32, m8, ta, ma
5456 vle32.v v16, (a1)
libavcodec/riscv/llauddsp_rvv.S+2−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_scalarproduct_and_madd_int16_rvv, zve32x, zba
24+ lpad 0
2425 vsetvli t0, zero, e32, m8, ta, ma
2526 vmv.v.x v0, zero
2627 1:
@@ -45,6 +46,7 @@ func ff_scalarproduct_and_madd_int16_rvv, zve32x, zba · 18 unmodified lines
4546 endfunc
4647
4748 func ff_scalarproduct_and_madd_int32_rvv, zve32x, zba
49+ lpad 0
4850 vsetvli t0, zero, e32, m8, ta, ma
4951 vmv.v.x v0, zero
5052 1:
libavcodec/riscv/llviddsp_rvv.S+1−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_llvid_add_bytes_rvv, zve32x
24+ lpad 0
2425 1:
2526 vsetvli t0, a2, e8, m8, ta, ma
2627 vle8.v v0, (a1)
libavcodec/riscv/llvidencdsp_rvv.S+1−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_llvidenc_diff_bytes_rvv, zve32x
24+ lpad 0
2425 1:
2526 vsetvli t0, a3, e8, m8, ta, ma
2627 vle8.v v0, (a1)
libavcodec/riscv/lpc_rvv.S+2−0
@@ -22,6 +22,7 @@ · 21 unmodified lines
2222
2323 #if __riscv_xlen >= 64
2424 func ff_lpc_apply_welch_window_rvv, zve64d, zba
25+ lpad 0
2526 vsetvli t0, zero, e64, m8, ta, ma
2627 vid.v v0
2728 addi t2, a1, -1
@@ -87,6 +88,7 @@ func ff_lpc_apply_welch_window_rvv, zve64d, zba · 59 unmodified lines
8788 endfunc
8889
8990 func ff_lpc_compute_autocorr_rvv, zve64d, b
91+ lpad 0
9092 vtype_vli t1, a2, t2, e64, ta, ma, 1
9193 addi a2, a2, 1
9294 li t0, 1
libavcodec/riscv/me_cmp_rvv.S+17−0
@@ -27,6 +27,7 @@ · 26 unmodified lines
2727 .endm
2828
2929 func ff_pix_abs16_rvv, zve32x
30+ lpad 0
3031 vsetivli zero, 1, e32, m1, ta, ma
3132 vmv.s.x v0, zero
3233 1:
@@ -47,6 +48,7 @@ func ff_pix_abs16_rvv, zve32x · 14 unmodified lines
4748 endfunc
4849
4950 func ff_pix_abs8_rvv, zve32x
51+ lpad 0
5052 vsetivli zero, 1, e32, m1, ta, ma
5153 vmv.s.x v0, zero
5254 1:
@@ -67,6 +69,7 @@ func ff_pix_abs8_rvv, zve32x · 14 unmodified lines
6769 endfunc
6870
6971 func ff_pix_abs16_x2_rvv, zve32x
72+ lpad 0
7073 csrwi vxrm, 0
7174 vsetivli zero, 1, e32, m1, ta, ma
7275 li t5, 1
@@ -92,6 +95,7 @@ func ff_pix_abs16_x2_rvv, zve32x · 19 unmodified lines
9295 endfunc
9396
9497 func ff_pix_abs8_x2_rvv, zve32x
98+ lpad 0
9599 csrwi vxrm, 0
96100 vsetivli zero, 1, e32, m1, ta, ma
97101 li t5, 1
@@ -117,6 +121,7 @@ func ff_pix_abs8_x2_rvv, zve32x · 19 unmodified lines
117121 endfunc
118122
119123 func ff_pix_abs16_y2_rvv, zve32x
124+ lpad 0
120125 csrwi vxrm, 0
121126 vsetivli zero, 1, e32, m1, ta, ma
122127 add t1, a2, a3
@@ -142,6 +147,7 @@ func ff_pix_abs16_y2_rvv, zve32x · 19 unmodified lines
142147 endfunc
143148
144149 func ff_pix_abs8_y2_rvv, zve32x
150+ lpad 0
145151 csrwi vxrm, 0
146152 vsetivli zero, 1, e32, m1, ta, ma
147153 add t1, a2, a3
@@ -167,6 +173,7 @@ func ff_pix_abs8_y2_rvv, zve32x · 19 unmodified lines
167173 endfunc
168174
169175 func ff_sse16_rvv, zve32x
176+ lpad 0
170177 vsetivli t0, 16, e32, m4, ta, ma
171178 vmv.v.x v24, zero
172179 vmv.s.x v0, zero
@@ -189,6 +196,7 @@ func ff_sse16_rvv, zve32x · 16 unmodified lines
189196 endfunc
190197
191198 func ff_sse8_rvv, zve32x
199+ lpad 0
192200 vsetivli t0, 8, e32, m2, ta, ma
193201 vmv.v.x v24, zero
194202 vmv.s.x v0, zero
@@ -211,6 +219,7 @@ func ff_sse8_rvv, zve32x · 16 unmodified lines
211219 endfunc
212220
213221 func ff_sse4_rvv, zve32x
222+ lpad 0
214223 vsetivli t0, 4, e32, m1, ta, ma
215224 vmv.v.x v24, zero
216225 vmv.s.x v0, zero
@@ -239,6 +248,7 @@ endfunc · 22 unmodified lines
239248 .endm
240249
241250 .macro vsad_vsse16 type
251+ lpad 0
242252 vsetivli t0, 16, e32, m4, ta, ma
243253 addi a4, a4, -1
244254 add t1, a1, a3
@@ -277,6 +287,7 @@ endfunc · 32 unmodified lines
277287 .endm
278288
279289 .macro vsad_vsse8 type
290+ lpad 0
280291 vsetivli t0, 8, e32, m2, ta, ma
281292 addi a4, a4, -1
282293 add t1, a1, a3
@@ -315,6 +326,7 @@ endfunc · 32 unmodified lines
315326 .endm
316327
317328 .macro vsad_vsse_intra16 type
329+ lpad 0
318330 vsetivli t0, 16, e32, m4, ta, ma
319331 addi a4, a4, -1
320332 add t1, a1, a3
@@ -346,6 +358,7 @@ endfunc · 25 unmodified lines
346358 .endm
347359
348360 .macro vsad_vsse_intra8 type
361+ lpad 0
349362 vsetivli t0, 8, e32, m2, ta, ma
350363 addi a4, a4, -1
351364 add t1, a1, a3
@@ -409,6 +422,8 @@ func ff_vsad_intra8_rvv, zve32x · 57 unmodified lines
409422 endfunc
410423
411424 func ff_nsse16_rvv, zve32x
425+ lpad 0
426+
412427 .macro squarediff16
413428 vsetivli zero, 16, e8, m1, tu, ma
414429 vle8.v v4, (a1)
@@ -468,6 +483,8 @@ func ff_nsse16_rvv, zve32x · 53 unmodified lines
468483 endfunc
469484
470485 func ff_nsse8_rvv, zve32x
486+ lpad 0
487+
471488 .macro squarediff8
472489 vsetivli zero, 8, e8, mf2, tu, ma
473490 vle8.v v4, (a1)
libavcodec/riscv/opusdsp_rvv.S+1−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_opus_postfilter_rvv, zve32f, b
24+ lpad 0
2425 flw fa0, 0(a2) // g0
2526 slli t1, a1, 2
2627 flw fa1, 4(a2) // g1
libavcodec/riscv/pixblockdsp_rvi.S+2−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_get_pixels_8_rvi
24+ lpad 0
2425 .irp row, 0, 1, 2, 3, 4, 5, 6, 7
2526 ld t0, (a1)
2627 add a1, a1, a2
@@ -47,6 +48,7 @@ func ff_get_pixels_8_rvi · 20 unmodified lines
4748 endfunc
4849
4950 func ff_get_pixels_16_rvi
51+ lpad 0
5052 .irp row, 0, 1, 2, 3, 4, 5, 6, 7
5153 ld t0, 0(a1)
5254 ld t1, 8(a1)
libavcodec/riscv/pixblockdsp_rvv.S+4−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_get_pixels_8_rvv, zve64x
24+ lpad 0
2425 vsetivli zero, 8, e8, mf2, ta, ma
2526 li t0, 8 * 8
2627 1:
@@ -32,6 +33,7 @@ func ff_get_pixels_8_rvv, zve64x · 5 unmodified lines
3233 endfunc
3334
3435 func ff_get_pixels_unaligned_8_rvv, zve64x
36+ lpad 0
3537 andi t1, a1, 7
3638 vsetivli zero, 8, e64, m4, ta, ma
3739 li t0, 8 * 8
@@ -52,6 +54,7 @@ func ff_get_pixels_unaligned_8_rvv, zve64x · 14 unmodified lines
5254 endfunc
5355
5456 func ff_diff_pixels_rvv, zve64x
57+ lpad 0
5558 vsetivli zero, 8, e8, mf2, ta, ma
5659 li t0, 8 * 8
5760 vlse64.v v16, (a1), a3
@@ -63,6 +66,7 @@ func ff_diff_pixels_rvv, zve64x · 5 unmodified lines
6366 endfunc
6467
6568 func ff_diff_pixels_unaligned_rvv, zve32x
69+ lpad 0
6670 vsetivli zero, 8, e8, mf2, ta, ma
6771 vlsseg8e8.v v16, (a1), a3
6872 vlsseg8e8.v v24, (a2), a3
libavcodec/riscv/rv34dsp_rvv.S+2−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_rv34_inv_transform_dc_rvv, zve32x
24+ lpad 0
2425 lh t1, 0(a0)
2526 li t0, 13 * 13 * 3
2627 mul t2, t0, t1
@@ -33,6 +34,7 @@ func ff_rv34_inv_transform_dc_rvv, zve32x · 6 unmodified lines
3334 endfunc
3435
3536 func ff_rv34_idct_dc_add_rvv, zve32x
37+ lpad 0
3638 vsetivli zero, 4, e8, mf4, ta, ma
3739 vlse32.v v0, (a0), a1
3840 li t1, 169
libavcodec/riscv/rv40dsp_rvv.S+4−0
@@ -351,21 +351,25 @@ func ff_avg_rv40_chroma_mc_rvv, zve32x, zba · 350 unmodified lines
351351 endfunc
352352
353353 func ff_put_rv40_chroma_mc8_rvv, zve32x
354+ lpad 0
354355 li t6, 8
355356 j 11b
356357 endfunc
357358
358359 func ff_put_rv40_chroma_mc4_rvv, zve32x
360+ lpad 0
359361 li t6, 4
360362 j 11b
361363 endfunc
362364
363365 func ff_avg_rv40_chroma_mc8_rvv, zve32x
366+ lpad 0
364367 li t6, 8
365368 j 21b
366369 endfunc
367370
368371 func ff_avg_rv40_chroma_mc4_rvv, zve32x
372+ lpad 0
369373 li t6, 4
370374 j 21b
371375 endfunc
libavcodec/riscv/sbrdsp_rvv.S+9−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_sbr_sum64x5_rvv, zve32f, zba
24+ lpad 0
2425 li a5, 64
2526 addi a1, a0, 64 * 4
2627 addi a2, a0, 128 * 4
@@ -50,6 +51,7 @@ func ff_sbr_sum64x5_rvv, zve32f, zba · 23 unmodified lines
5051 endfunc
5152
5253 func ff_sbr_sum_square_rvv, zve32f, zba
54+ lpad 0
5355 vsetvli t0, zero, e32, m8, ta, ma
5456 slli a1, a1, 1
5557 vmv.v.x v8, zero
@@ -69,6 +71,7 @@ NOHWF fmv.x.w a0, fa0 · 13 unmodified lines
6971 endfunc
7072
7173 func ff_sbr_autocorrelate_rvv, zve32f
74+ lpad 0
7275 vsetvli t0, zero, e32, m4, ta, ma
7376 vmv.v.x v0, zero
7477 flw fa0, (a0)
@@ -158,6 +161,7 @@ func ff_sbr_autocorrelate_rvv, zve32f · 83 unmodified lines
158161 endfunc
159162
160163 func ff_sbr_hf_gen_rvv, zve32f, zba
164+ lpad 0
161165 NOHWF fmv.w.x fa0, a4
162166 NOHWF mv a4, a5
163167 NOHWF mv a5, a6
@@ -208,6 +212,7 @@ NOHWF mv a5, a6 · 44 unmodified lines
208212 endfunc
209213
210214 func ff_sbr_hf_g_filt_rvv, zve32f, zba
215+ lpad 0
211216 li t1, 40 * 2 * 4
212217 sh3add a1, a4, a1
213218 1:
@@ -273,15 +278,18 @@ endfunc · 59 unmodified lines
273278 .endm
274279
275280 func ff_sbr_hf_apply_noise_0_rvv, zve32f, b
281+ lpad 0
276282 hf_apply_noise 0
277283 endfunc
278284
279285 func ff_sbr_hf_apply_noise_3_rvv, zve32f, b
286+ lpad 0
280287 not a4, a4 // invert parity of kx
281288 // fall through
282289 endfunc
283290
284291 func ff_sbr_hf_apply_noise_1_rvv, zve32f, b
292+ lpad 0
285293 vsetvli t0, zero, e32, m4, ta, ma
286294 vid.v v4
287295 vxor.vx v4, v4, a4
@@ -290,5 +298,6 @@ func ff_sbr_hf_apply_noise_1_rvv, zve32f, b · 2 unmodified lines
290298 endfunc
291299
292300 func ff_sbr_hf_apply_noise_2_rvv, zve32f, b
301+ lpad 0
293302 hf_apply_noise 2
294303 endfunc
libavcodec/riscv/startcode_rvb.S+1−0
@@ -37,6 +37,7 @@ · 36 unmodified lines
3737 .endm
3838
3939 func ff_startcode_find_candidate_rvb, zbb
40+ lpad 0
4041 add a1, a0, a1
4142
4243 // Potentially unaligned head
libavcodec/riscv/startcode_rvv.S+1−0
@@ -27,6 +27,7 @@ · 26 unmodified lines
2727 #include "libavutil/riscv/asm.S"
2828
2929 func ff_startcode_find_candidate_rvv, zve32x
30+ lpad 0
3031 mv t0, a0
3132 1:
3233 vsetvli t1, a1, e8, m8, ta, ma
libavcodec/riscv/svqenc_rvv.S+1−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_ssd_int8_vs_int16_rvv, zve32x, zba
24+ lpad 0
2425 vsetvli t0, zero, e32, m8, ta, ma
2526 vmv.v.x v24, zero
2627 1:
libavcodec/riscv/takdsp_rvv.S+4−0
@@ -22,6 +22,7 @@ · 21 unmodified lines
2222 #include "libavutil/riscv/asm.S"
2323
2424 func ff_decorrelate_ls_rvv, zve32x, zba
25+ lpad 0
2526 1:
2627 vsetvli t0, a2, e32, m8, ta, ma
2728 sub a2, a2, t0
@@ -36,6 +37,7 @@ func ff_decorrelate_ls_rvv, zve32x, zba · 8 unmodified lines
3637 endfunc
3738
3839 func ff_decorrelate_sr_rvv, zve32x, zba
40+ lpad 0
3941 1:
4042 vsetvli t0, a2, e32, m8, ta, ma
4143 vle32.v v0, (a0)
@@ -50,6 +52,7 @@ func ff_decorrelate_sr_rvv, zve32x, zba · 8 unmodified lines
5052 endfunc
5153
5254 func ff_decorrelate_sm_rvv, zve32x, zba
55+ lpad 0
5356 1:
5457 vsetvli t0, a2, e32, m8, ta, ma
5558 vle32.v v8, (a1)
@@ -68,6 +71,7 @@ func ff_decorrelate_sm_rvv, zve32x, zba · 12 unmodified lines
6871 endfunc
6972
7073 func ff_decorrelate_sf_rvv, zve32x, zba
74+ lpad 0
7175 csrwi vxrm, 0
7276 1:
7377 vsetvli t0, a2, e32, m8, ta, ma
libavcodec/riscv/utvideodsp_rvv.S+2−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_restore_rgb_planes_rvv, zve32x, zba
24+ lpad 0
2425 li t1, -0x80
2526 sub a3, a3, a6
2627 sub a4, a4, a6
@@ -53,6 +54,7 @@ func ff_restore_rgb_planes_rvv, zve32x, zba · 26 unmodified lines
5354 endfunc
5455
5556 func ff_restore_rgb_planes10_rvv, zve32x, zba
57+ lpad 0
5658 li t1, -0x200
5759 li t2, 0x3FF
5860 sub a3, a3, a6
libavcodec/riscv/vc1dsp_rvi.S+2−0
@@ -22,6 +22,7 @@ · 21 unmodified lines
2222
2323 #if __riscv_xlen >= 64
2424 func ff_put_pixels8x8_rvi
25+ lpad 0
2526 .rept 8
2627 ld t0, (a1)
2728 sd t0, (a0)
@@ -33,6 +34,7 @@ func ff_put_pixels8x8_rvi · 5 unmodified lines
3334 endfunc
3435
3536 func ff_put_pixels16x16_rvi
37+ lpad 0
3638 .rept 16
3739 ld t0, (a1)
3840 ld t1, 8(a1)
libavcodec/riscv/vc1dsp_rvv.S+11−0
@@ -22,6 +22,7 @@ · 21 unmodified lines
2222 #include "libavutil/riscv/asm.S"
2323
2424 func ff_vc1_inv_trans_8x8_dc_rvv, zve64x, zba
25+ lpad 0
2526 lh t2, (a2)
2627 vsetivli zero, 8, e8, mf2, ta, ma
2728 vlse64.v v0, (a0), a1
@@ -44,6 +45,7 @@ func ff_vc1_inv_trans_8x8_dc_rvv, zve64x, zba · 16 unmodified lines
4445 endfunc
4546
4647 func ff_vc1_inv_trans_4x8_dc_rvv, zve32x, zba
48+ lpad 0
4749 lh t2, (a2)
4850 vsetivli zero, 8, e8, mf2, ta, ma
4951 vlse32.v v0, (a0), a1
@@ -68,6 +70,7 @@ func ff_vc1_inv_trans_4x8_dc_rvv, zve32x, zba · 18 unmodified lines
6870 endfunc
6971
7072 func ff_vc1_inv_trans_8x4_dc_rvv, zve64x, zba
73+ lpad 0
7174 lh t2, (a2)
7275 vsetivli zero, 4, e8, mf4, ta, ma
7376 vlse64.v v0, (a0), a1
@@ -91,6 +94,7 @@ func ff_vc1_inv_trans_8x4_dc_rvv, zve64x, zba · 17 unmodified lines
9194 endfunc
9295
9396 func ff_vc1_inv_trans_4x4_dc_rvv, zve32x
97+ lpad 0
9498 lh t2, (a2)
9599 vsetivli zero, 4, e8, mf4, ta, ma
96100 vlse32.v v0, (a0), a1
@@ -203,6 +207,7 @@ func ff_vc1_inv_trans_4_rvv, zve32x · 106 unmodified lines
203207 endfunc
204208
205209 func ff_vc1_inv_trans_8x8_rvv, zve32x
210+ lpad 0
206211 csrwi vxrm, 0
207212 vsetivli zero, 8, e16, m1, ta, ma
208213 addi a1, a0, 1 * 8 * 2
@@ -240,6 +245,7 @@ func ff_vc1_inv_trans_8x8_rvv, zve32x · 31 unmodified lines
240245 endfunc
241246
242247 func ff_vc1_inv_trans_8x4_rvv, zve32x
248+ lpad 0
243249 csrwi vxrm, 0
244250 vsetivli zero, 4, e16, mf2, ta, ma
245251 vlseg8e16.v v0, (a2)
@@ -285,6 +291,7 @@ func ff_vc1_inv_trans_8x4_rvv, zve32x · 39 unmodified lines
285291 endfunc
286292
287293 func ff_vc1_inv_trans_4x8_rvv, zve32x
294+ lpad 0
288295 li a3, 8 * 2
289296 csrwi vxrm, 0
290297 vsetivli zero, 8, e16, m1, ta, ma
@@ -359,6 +366,7 @@ func ff_vc1_inv_trans_4x8_rvv, zve32x · 68 unmodified lines
359366 endfunc
360367
361368 func ff_vc1_inv_trans_4x4_rvv, zve32x
369+ lpad 0
362370 li a3, 8 * 2
363371 csrwi vxrm, 0
364372 vsetivli zero, 4, e16, mf2, ta, ma
@@ -422,12 +430,14 @@ endfunc · 57 unmodified lines
422430 .endm
423431
424432 func ff_avg_pixels16x16_rvv, zve32x
433+ lpad 0
425434 li t0, 16
426435 vsetivli zero, 16, e8, m1, ta, ma
427436 j 1f
428437 endfunc
429438
430439 func ff_avg_pixels8x8_rvv, zve32x
440+ lpad 0
431441 li t0, 8
432442 vsetivli zero, 8, e8, mf2, ta, ma
433443 1:
@@ -446,6 +456,7 @@ func ff_avg_pixels8x8_rvv, zve32x · 12 unmodified lines
446456 endfunc
447457
448458 func ff_vc1_unescape_buffer_rvv, zve32x
459+ lpad 0
449460 vsetivli zero, 2, e8, m1, ta, ma
450461 vmv.v.i v8, -1
451462 li t4, 1
libavcodec/riscv/vorbisdsp_rvv.S+1−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "libavutil/riscv/asm.S"
2222
2323 func ff_vorbis_inverse_coupling_rvv, zve32f, zba
24+ lpad 0
2425 fmv.w.x ft0, zero
2526 1:
2627 vsetvli t0, a2, e32, m4, ta, ma
libavcodec/riscv/vp7dsp_rvv.S+3−0
@@ -22,6 +22,7 @@ · 21 unmodified lines
2222
2323 #if __riscv_xlen >= 64
2424 func ff_vp7_luma_dc_wht_rvv, zve32x, zba
25+ lpad 0
2526 li a2, 4 * 16 * 2
2627 li a7, 16 * 2
2728 jal t0, 1f
@@ -99,6 +100,7 @@ func ff_vp7_luma_dc_wht_rvv, zve32x, zba · 71 unmodified lines
99100 endfunc
100101
101102 func ff_vp7_idct_add_rvv, zve32x
103+ lpad 0
102104 jal t0, 1b
103105 csrwi vxrm, 2
104106 vsetvli zero, zero, e8, mf4, ta, ma
@@ -130,6 +132,7 @@ endfunc · 25 unmodified lines
130132
131133 .irp type, y, uv
132134 func ff_vp7_idct_dc_add4\type\()_rvv, zve32x
135+ lpad 0
133136 li t0, 32
134137 vsetivli zero, 4, e16, mf2, ta, ma
135138 li t1, 23170
libavcodec/riscv/vp8dsp_rvi.S+3−0
@@ -22,6 +22,7 @@ · 21 unmodified lines
2222
2323 #if __riscv_xlen >= 64
2424 func ff_put_vp8_pixels16_rvi
25+ lpad 0
2526 1:
2627 addi a4, a4, -1
2728 ld t0, (a2)
@@ -36,6 +37,7 @@ func ff_put_vp8_pixels16_rvi · 8 unmodified lines
3637 endfunc
3738
3839 func ff_put_vp8_pixels8_rvi
40+ lpad 0
3941 1:
4042 addi a4, a4, -1
4143 ld t0, (a2)
@@ -49,6 +51,7 @@ endfunc · 7 unmodified lines
4951 #endif
5052
5153 func ff_put_vp8_pixels4_rvi
54+ lpad 0
5255 1:
5356 addi a4, a4, -1
5457 lw t0, (a2)
libavcodec/riscv/vp8dsp_rvv.S+12−0
@@ -45,6 +45,7 @@ · 44 unmodified lines
4545
4646 #if __riscv_xlen >= 64
4747 func ff_vp8_luma_dc_wht_rvv, zve64x
48+ lpad 0
4849 vsetivli zero, 1, e64, m1, ta, ma
4950 vlseg4e64.v v4, (a1)
5051 vsetivli zero, 4, e16, mf2, ta, ma
@@ -99,6 +100,7 @@ endfunc · 48 unmodified lines
99100 #endif
100101
101102 func ff_vp8_idct_add_rvv, zve32x
103+ lpad 0
102104 csrwi vxrm, 0
103105 vsetivli zero, 4, e16, mf2, ta, ma
104106 addi a3, a1, 1 * 4 * 2
@@ -158,6 +160,7 @@ func ff_vp8_idct_add_rvv, zve32x · 53 unmodified lines
158160 endfunc
159161
160162 func ff_vp8_idct_dc_add_rvv, zve32x
163+ lpad 0
161164 lh a3, (a1)
162165 addi a3, a3, 4
163166 srai a3, a3, 3
@@ -182,6 +185,7 @@ func ff_vp78_idct_dc_add_rvv, zve32x · 18 unmodified lines
182185 endfunc
183186
184187 func ff_vp8_idct_dc_add4y_rvv, zve32x
188+ lpad 0
185189 li t0, 32
186190 vsetivli zero, 4, e16, mf2, ta, ma
187191 li t1, 4 - (128 << 3)
@@ -217,6 +221,7 @@ func ff_vp78_idct_dc_add4y_rvv, zve32x · 29 unmodified lines
217221 endfunc
218222
219223 func ff_vp8_idct_dc_add4uv_rvv, zve32x
224+ lpad 0
220225 li t0, 32
221226 vsetivli zero, 4, e16, mf2, ta, ma
222227 li t1, 4 - (128 << 3)
@@ -265,6 +270,7 @@ endfunc · 42 unmodified lines
265270
266271 .macro put_vp8_bilin_h_v type mn
267272 func ff_put_vp8_bilin4_\type\()_rvv, zve32x
273+ lpad 0
268274 vsetvlstatic8 4
269275 .Lbilin_\type:
270276 li t1, 8
@@ -310,6 +316,7 @@ put_vp8_bilin_h_v h a5 · 39 unmodified lines
310316 put_vp8_bilin_h_v v a6
311317
312318 func ff_put_vp8_bilin4_hv_rvv, zve32x
319+ lpad 0
313320 vsetvlstatic8 4
314321 .Lbilin_hv:
315322 li t3, 8
@@ -335,16 +342,19 @@ endfunc · 19 unmodified lines
335342
336343 .irp len,16,8
337344 func ff_put_vp8_bilin\len\()_h_rvv, zve32x
345+ lpad 0
338346 vsetvlstatic8 \len
339347 j .Lbilin_h
340348 endfunc
341349
342350 func ff_put_vp8_bilin\len\()_v_rvv, zve32x
351+ lpad 0
343352 vsetvlstatic8 \len
344353 j .Lbilin_v
345354 endfunc
346355
347356 func ff_put_vp8_bilin\len\()_hv_rvv, zve32x
357+ lpad 0
348358 vsetvlstatic8 \len
349359 j .Lbilin_hv
350360 endfunc
@@ -441,6 +451,7 @@ endconst · 90 unmodified lines
441451
442452 .macro epel len size type
443453 func ff_put_vp8_epel\len\()_\type\()\size\()_rvv, zve32x, zba
454+ lpad 0
444455 epel_filter \size \type t
445456 vsetvlstatic8 \len
446457 1:
@@ -456,6 +467,7 @@ endfunc · 9 unmodified lines
456467
457468 .macro epel_hv len hsize vsize
458469 func ff_put_vp8_epel\len\()_h\hsize\()v\vsize\()_rvv, zve32x, zba
470+ lpad 0
459471 #if __riscv_xlen == 64
460472 addi sp, sp, -48
461473 .irp n,0,1,2,3,4,5
libavcodec/riscv/vp9_intra_rvi.S+3−0
@@ -22,6 +22,7 @@ · 21 unmodified lines
2222
2323 #if __riscv_xlen >= 64
2424 func ff_v_32x32_rvi, zba
25+ lpad 0
2526 ld t0, (a3)
2627 ld t1, 8(a3)
2728 ld t2, 16(a3)
@@ -43,6 +44,7 @@ func ff_v_32x32_rvi, zba · 15 unmodified lines
4344 endfunc
4445
4546 func ff_v_16x16_rvi, zba
47+ lpad 0
4648 ld t0, (a3)
4749 ld t1, 8(a3)
4850 .rept 8
@@ -58,6 +60,7 @@ func ff_v_16x16_rvi, zba · 9 unmodified lines
5860 endfunc
5961
6062 func ff_v_8x8_rvi, zba
63+ lpad 0
6164 ld t0, (a3)
6265 .rept 4
6366 add a7, a0, a1
libavcodec/riscv/vp9_intra_rvv.S+7−0
@@ -91,6 +91,7 @@ · 90 unmodified lines
9191
9292 .macro func_dc name size type n restore ext
9393 func ff_\()\name\()_\()\size\()x\size\()_rvv, \ext
94+ lpad 0
9495 .if \size == 8
9596 dc_e64 \type \size \n \restore
9697 .else
@@ -119,6 +120,7 @@ func_dc dc_top 16 top 4 1 zve32x · 22 unmodified lines
119120 func_dc dc_top 8 top 3 0 zve64x
120121
121122 func ff_h_32x32_rvv, zve32x
123+ lpad 0
122124 li t0, 32
123125 addi a2, a2, 31
124126 vsetvli zero, t0, e8, m2, ta, ma
@@ -139,6 +141,7 @@ func ff_h_32x32_rvv, zve32x · 14 unmodified lines
139141 endfunc
140142
141143 func ff_h_16x16_rvv, zve32x
144+ lpad 0
142145 addi a2, a2, 15
143146 vsetivli zero, 16, e8, m1, ta, ma
144147
@@ -157,6 +160,7 @@ func ff_h_16x16_rvv, zve32x · 12 unmodified lines
157160 endfunc
158161
159162 func ff_h_8x8_rvv, zve32x
163+ lpad 0
160164 addi a2, a2, 7
161165 vsetivli zero, 8, e8, mf2, ta, ma
162166
@@ -190,6 +194,7 @@ endfunc · 27 unmodified lines
190194 .endm
191195
192196 func ff_tm_32x32_rvv, zve32x
197+ lpad 0
193198 lbu a4, -1(a3)
194199 li t5, 32
195200
@@ -244,6 +249,7 @@ func ff_tm_16x16_rvv, zve32x · 48 unmodified lines
244249 endfunc
245250
246251 func ff_tm_8x8_rvv, zve32x
252+ lpad 0
247253 vsetivli zero, 8, e16, m1, ta, ma
248254 vle8.v v8, (a3)
249255 vzext.vf2 v28, v8
@@ -269,6 +275,7 @@ func ff_tm_8x8_rvv, zve32x · 19 unmodified lines
269275 endfunc
270276
271277 func ff_tm_4x4_rvv, zve32x
278+ lpad 0
272279 vsetivli zero, 4, e16, mf2, ta, ma
273280 vle8.v v8, (a3)
274281 vzext.vf2 v28, v8
libavcodec/riscv/vp9_mc_rvi.S+5−0
@@ -22,6 +22,7 @@ · 21 unmodified lines
2222
2323 #if __riscv_xlen >= 64
2424 func ff_copy64_rvi
25+ lpad 0
2526 1:
2627 addi a4, a4, -1
2728 ld t0, (a2)
@@ -48,6 +49,7 @@ func ff_copy64_rvi · 20 unmodified lines
4849 endfunc
4950
5051 func ff_copy32_rvi
52+ lpad 0
5153 1:
5254 addi a4, a4, -1
5355 ld t0, (a2)
@@ -66,6 +68,7 @@ func ff_copy32_rvi · 12 unmodified lines
6668 endfunc
6769
6870 func ff_copy16_rvi
71+ lpad 0
6972 1:
7073 addi a4, a4, -1
7174 ld t0, (a2)
@@ -80,6 +83,7 @@ func ff_copy16_rvi · 8 unmodified lines
8083 endfunc
8184
8285 func ff_copy8_rvi
86+ lpad 0
8387 1:
8488 addi a4, a4, -1
8589 ld t0, (a2)
@@ -93,6 +97,7 @@ endfunc · 7 unmodified lines
9397 #endif
9498
9599 func ff_copy4_rvi
100+ lpad 0
96101 1:
97102 addi a4, a4, -1
98103 lw t0, (a2)
libavcodec/riscv/vp9_mc_rvv.S+1−0
@@ -38,6 +38,7 @@ · 37 unmodified lines
3838
3939 .macro copy_avg len
4040 func ff_vp9_avg\len\()_rvv, zve32x
41+ lpad 0
4142 csrwi vxrm, 0
4243 vsetvlstatic8 \len, t0, 64
4344 1:

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t