[FFmpeg-devel] [PATCH] riscv: Tweak names of cpu flags, print flags in libavutil/tests/cpu
Rémi Denis-Courmont
remi at remlab.net
Fri Dec 15 18:36:12 EET 2023
Le 15 décembre 2023 15:05:10 GMT+02:00, "Martin Storsjö" <martin at martin.st> a écrit :
>The names of the cpu flags are pased by the libavutil eval
PaSsed
>functions - names with dashes are parsed as a subtraction.
>Replace dashes with underscores.
My personal preference would be to use official extension names, doubly so if we switch to underscore separators (which matches official syntax), rather than the made-up FFmpeg names. But that's just my opinion.
>
>Add these cpu flags to libavutil/tests/cpu, so that the detected
>cpu flags also get printed when run, also as part of the
>fate-cpu test.
>---
> libavutil/cpu.c | 10 +++++-----
> libavutil/tests/cpu.c | 10 ++++++++++
> 2 files changed, 15 insertions(+), 5 deletions(-)
>
>diff --git a/libavutil/cpu.c b/libavutil/cpu.c
>index 1e0607d581..8c1acc5e72 100644
>--- a/libavutil/cpu.c
>+++ b/libavutil/cpu.c
>@@ -186,12 +186,12 @@ int av_parse_cpu_caps(unsigned *flags, const char *s)
> { "rvi", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVI }, .unit = "flags" },
> { "rvf", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVF }, .unit = "flags" },
> { "rvd", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVD }, .unit = "flags" },
>- { "rvv-i32", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVV_I32 }, .unit = "flags" },
>- { "rvv-f32", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVV_F32 }, .unit = "flags" },
>- { "rvv-i64", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVV_I64 }, .unit = "flags" },
>+ { "rvv_i32", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVV_I32 }, .unit = "flags" },
>+ { "rvv_f32", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVV_F32 }, .unit = "flags" },
>+ { "rvv_i64", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVV_I64 }, .unit = "flags" },
> { "rvv", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVV_F64 }, .unit = "flags" },
>- { "rvb-addr",NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVB_ADDR }, .unit = "flags" },
>- { "rvb-basic",NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVB_BASIC }, .unit = "flags" },
>+ { "rvb_addr",NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVB_ADDR }, .unit = "flags" },
>+ { "rvb_basic",NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVB_BASIC }, .unit = "flags" },
> #endif
> { NULL },
> };
>diff --git a/libavutil/tests/cpu.c b/libavutil/tests/cpu.c
>index 200f20388a..1cabd15b72 100644
>--- a/libavutil/tests/cpu.c
>+++ b/libavutil/tests/cpu.c
>@@ -84,6 +84,16 @@ static const struct {
> #elif ARCH_LOONGARCH
> { AV_CPU_FLAG_LSX, "lsx" },
> { AV_CPU_FLAG_LASX, "lasx" },
>+#elif ARCH_RISCV
>+ { AV_CPU_FLAG_RVI, "rvi" },
>+ { AV_CPU_FLAG_RVF, "rvf" },
>+ { AV_CPU_FLAG_RVD, "rvd" },
>+ { AV_CPU_FLAG_RVB_ADDR, "rvb_addr" },
>+ { AV_CPU_FLAG_RVB_BASIC, "rvb_basic" },
>+ { AV_CPU_FLAG_RVV_I32, "rvv_i32" },
>+ { AV_CPU_FLAG_RVV_F32, "rvv_f32" },
>+ { AV_CPU_FLAG_RVV_I64, "rvv_i64" },
>+ { AV_CPU_FLAG_RVV_F64, "rvv" },
> #endif
> { 0 }
> };
More information about the ffmpeg-devel
mailing list