[FFmpeg-devel] [PATCH v2] riscv: Tweak names of cpu flags, print flags in libavutil/tests/cpu

Rémi Denis-Courmont remi at remlab.net
Sun Dec 17 11:27:31 EET 2023


Le sunnuntaina 17. joulukuuta 2023, 11.11.30 EET Martin Storsjö a écrit :
> >> 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"
> >> }, +        { "zve32x",   NULL, 0, AV_OPT_TYPE_CONST, { .i64 =
> >> AV_CPU_FLAG_RVV_I32  },    .unit = "flags" }, +        { "zve32f",  
> >> NULL,
> >> 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVV_F32  },    .unit = "flags"
> >> }, +        { "zve64x",   NULL, 0, AV_OPT_TYPE_CONST, { .i64 =
> >> AV_CPU_FLAG_RVV_I64  },    .unit = "flags" },
> >> +        { "zve64f",   NULL,
> >> 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVV_F64  },    .unit = "flags"
> > 
> > That's Zve64d. Or V though strictly speaking V also implies a vector
> > length of at least 128 bits, while Zve64d only implies 64 bits.
> 
> Oh, right. But we'd use it lowercased here, as "zve64d", as that's what we
> use with the function macros and with .option arch, +<foo>, right?

`.option arch` wants lower case names.

> Using the single-letter forms here for cpu flags would probably feel a bit
> obscure...
> Is there some similar names like these, that would be used for
> .option arch, for what we call rvi/rvf/rvd above?

I is the base Integer set, not an extension. F and D mean Float and Double, 
but I don't think that they have formal names. They only exists because 
checkasm wants flags for everything. You're not supposed to check those at run-
time.

Also D is not used for anything. I don't know how feasible it would be to 
rework the C versions of pixblockdsp and audiodsp to purge I and F.

-- 
Rémi Denis-Courmont
http://www.remlab.net/





More information about the ffmpeg-devel mailing list