[FFmpeg-devel] [PATCH v4] lavc/h264chroma: RISC-V V add motion compensation for 8x8 chroma blocks

Rémi Denis-Courmont remi at remlab.net
Wed May 24 20:12:03 EEST 2023


Le keskiviikkona 24. toukokuuta 2023, 8.28.08 EEST Arnie Chang a écrit :
> diff --git a/libavcodec/riscv/h264_mc_chroma.S
> b/libavcodec/riscv/h264_mc_chroma.S new file mode 100644
> index 0000000000..9fcd2e34b3
> --- /dev/null
> +++ b/libavcodec/riscv/h264_mc_chroma.S
> @@ -0,0 +1,307 @@
> +/*
> + * Copyright (c) 2023 SiFive, Inc. All rights reserved.
> + *
> + * 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 + */
> +#include "libavutil/riscv/asm.S"
> +
> +.macro  h264_chroma_mc8 type
> +func h264_\type\()_chroma_mc8_rvv, zve32x
> +        csrw            vxrm, zero
> +        slli            t2, a5, 3
> +        mulw            t1, a5, a4

This should probably be mul.

> +        sh3add          a5, a4, t2
> +        slli            a4, a4, 3
> +        sub             a5, t1, a5
> +        sub             a7, a4, t1
> +        addi            a6, a5, 64
> +        sub             t0, t2, t1
> +        vsetivli        t3, 8, e8, m1, ta, mu
> +        beqz            t1, 2f
> +        blez            a3, 8f
> +        li              t4, 0
> +        li              t2, 0
> +        li              t5, 1
> +        addi            a5, t3, 1
> +        slli            t3, a2, 2

-- 
雷米‧德尼-库尔蒙
http://www.remlab.net/





More information about the ffmpeg-devel mailing list