On Sun, Jul 4, 2021 at 8:16 PM Lynne <d...@lynne.ee> wrote:
>
> 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.
>
Will split the options as the comments, thx
>
> > 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.

Good suggestion!
_______________________________________________
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