4 Jul 2021, 03:40 by mypopy...@gmail.com:

> From: Jun Zhao <barryjz...@tencent.com>
>
> Enabled the svtav1-params, then we can set all the params
>

The whole purpose of the params field was to give it off to the encoder
and have it do its own parsing, such that we wouldn't have to keep up
adding more and more options.
But svt-av1 cannot parse a generic option field on its own, so no, add
those as separate options rather than a generic text field.



> Signed-off-by: Jun Zhao <barryjz...@tencent.com>
> ---
>  libavcodec/libsvtav1.c | 337 +++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 337 insertions(+)
>
> diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c
> index fabc4e6428..9d72a35f6c 100644
> --- a/libavcodec/libsvtav1.c
> +++ b/libavcodec/libsvtav1.c
> @@ -71,6 +71,8 @@ typedef struct SvtContext {
>  
>  int tile_columns;
>  int tile_rows;
> +
> +    AVDictionary *svt_av1_params;
>  } SvtContext;
>  
>  static const struct {
> @@ -146,11 +148,334 @@ static int alloc_buffer(EbSvtAv1EncConfiguration 
> *config, SvtContext *svt_enc)
>  
>  }
>  
> +static void set_asm_type(EbSvtAv1EncConfiguration *p, const char *value)
> +{
> +    const struct {
> +        const char *name;
> +        CPU_FLAGS   flags;
> +    } param_maps[] = {
> +        {"c", 0},
> +        {"0", 0},
> +
> +        {"mmx", (CPU_FLAGS_MMX << 1) - 1},
> +        {"1",   (CPU_FLAGS_MMX << 1) - 1},
> +
> +        {"sse", (CPU_FLAGS_SSE << 1) - 1},
> +        {"2",   (CPU_FLAGS_SSE << 1) - 1},
> +
> +        {"sse2", (CPU_FLAGS_SSE2 << 1) - 1},
> +        {"3",    (CPU_FLAGS_SSE2 << 1) - 1},
> +
> +        {"sse3", (CPU_FLAGS_SSE3 << 1) - 1},
> +        {"4",    (CPU_FLAGS_SSE3 << 1) - 1},
> +
> +        {"ssse3", (CPU_FLAGS_SSSE3 << 1) - 1},
> +        {"5",     (CPU_FLAGS_SSSE3 << 1) - 1},
> +
> +        {"sse4_1", (CPU_FLAGS_SSE4_1 << 1) - 1},
> +        {"6",      (CPU_FLAGS_SSE4_1 << 1) - 1},
> +
> +        {"sse4_2", (CPU_FLAGS_SSE4_2 << 1) - 1},
> +        {"7",      (CPU_FLAGS_SSE4_2 << 1) - 1},
> +
> +        {"avx", (CPU_FLAGS_AVX << 1) - 1},
> +        {"8",   (CPU_FLAGS_AVX << 1) - 1},
> +
> +        {"avx2", (CPU_FLAGS_AVX2 << 1) - 1},
> +        {"9",    (CPU_FLAGS_AVX2 << 1) - 1},
> +
> +        {"avx512", (CPU_FLAGS_AVX512VL << 1) - 1},
> +        {"10",     (CPU_FLAGS_AVX512VL << 1) - 1},
> +
> +        {"max", CPU_FLAGS_ALL},
> +        {"11",  CPU_FLAGS_ALL},
> +    };
>

We already have a generic way to set up cpuflags, you should use that
instead of adding another field.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to