[FFmpeg-devel] [PATCH] lavc/h264chroma: RISC-V V add motion compensation for 4xH and 2xH chroma blocks

Rémi Denis-Courmont remi at remlab.net
Mon Jun 12 17:59:18 EEST 2023


Le perjantaina 9. kesäkuuta 2023, 10.17.27 EEST Arnie Chang a écrit :
> Optimize the put and avg filtering for 4xH and 2xH blocks
> 
> Signed-off-by: Arnie Chang <arnie.chang at sifive.com>
> diff --git a/libavcodec/riscv/h264_mc_chroma.S
> b/libavcodec/riscv/h264_mc_chroma.S index 364bc3156e..c97cdbad86 100644
> --- a/libavcodec/riscv/h264_mc_chroma.S
> +++ b/libavcodec/riscv/h264_mc_chroma.S
> @@ -19,8 +19,7 @@
>   */
>  #include "libavutil/riscv/asm.S"
> 
> -.macro  h264_chroma_mc8 type
> -func h264_\type\()_chroma_mc8_rvv, zve32x
> +.macro  do_chroma_mc type width unroll
>          csrw            vxrm, zero
>          slli            t2, a5, 3
>          mul             t1, a5, a4
> @@ -30,94 +29,104 @@ func h264_\type\()_chroma_mc8_rvv, zve32x
>          sub             a7, a4, t1
>          addi            a6, a5, 64
>          sub             t0, t2, t1
> -        vsetivli        t3, 8, e8, m1, ta, mu
> +        vsetivli        t3, \width, e8, m1, ta, mu
>          beqz            t1, 2f
>          blez            a3, 8f
>          li              t4, 0
>          li              t2, 0
>          li              t5, 1
>          addi            a5, t3, 1
> +  .ifc \unroll,1

It would seem more simpler and more intuitive to just use `.if` here. (Ditto 
below.)

-- 
レミ・デニ-クールモン
http://www.remlab.net/





More information about the ffmpeg-devel mailing list