[FFmpeg-devel] [PATCH] lavc/qsvenc: Set default bitrate to 2M

Xiang, Haihao haihao.xiang at intel.com
Wed Dec 6 08:51:21 EET 2023


On Di, 2023-12-05 at 12:47 +0100, Timo Rothenpieler wrote:
> On 05.12.2023 09:15, Xiang, Haihao wrote:
> > From: Haihao Xiang <haihao.xiang at intel.com>
> > 
> > 2M is suitable for more cases, e.g. 4K video.
> > 
> > Signed-off-by: Haihao Xiang <haihao.xiang at intel.com>
> > ---
> >   libavcodec/qsvenc_av1.c   | 2 +-
> >   libavcodec/qsvenc_h264.c  | 2 +-
> >   libavcodec/qsvenc_hevc.c  | 2 +-
> >   libavcodec/qsvenc_mpeg2.c | 2 +-
> >   libavcodec/qsvenc_vp9.c   | 2 +-
> >   5 files changed, 5 insertions(+), 5 deletions(-)
> > 
> > diff --git a/libavcodec/qsvenc_av1.c b/libavcodec/qsvenc_av1.c
> > index c697845d7b..78c92c1844 100644
> > --- a/libavcodec/qsvenc_av1.c
> > +++ b/libavcodec/qsvenc_av1.c
> > @@ -129,7 +129,7 @@ static const AVClass class = {
> >   };
> >   
> >   static const FFCodecDefault qsv_enc_defaults[] = {
> > -    { "b",         "1M"   },
> > +    { "b",         "2M"   },
> 
> Wouldn't it be better to use a constant quality option as default, 
> rather than a fixed bitrate?

Did you mean change the default bitrate control mode to CQP ? I was concerned
about the impact to current users.

> 2M still seems incredibly low for 1080p, let alone for 4K content.

Some other HW encoders also use 2M, I'd like to use the same default value. 

Thanks
Haihao

> 
> >       { "g",         "-1"   },
> >       { "bf",        "-1"   },
> >       { "refs",      "0"    },
> > diff --git a/libavcodec/qsvenc_h264.c b/libavcodec/qsvenc_h264.c
> > index 071a9a79e9..37b39cb441 100644
> > --- a/libavcodec/qsvenc_h264.c
> > +++ b/libavcodec/qsvenc_h264.c
> > @@ -178,7 +178,7 @@ static const AVClass class = {
> >   };
> >   
> >   static const FFCodecDefault qsv_enc_defaults[] = {
> > -    { "b",         "1M"    },
> > +    { "b",         "2M"    },
> >       { "refs",      "0"     },
> >       { "g",         "-1"    },
> >       { "bf",        "-1"    },
> > diff --git a/libavcodec/qsvenc_hevc.c b/libavcodec/qsvenc_hevc.c
> > index c5b7ac7cc4..181d06cb00 100644
> > --- a/libavcodec/qsvenc_hevc.c
> > +++ b/libavcodec/qsvenc_hevc.c
> > @@ -374,7 +374,7 @@ static const AVClass class = {
> >   };
> >   
> >   static const FFCodecDefault qsv_enc_defaults[] = {
> > -    { "b",         "1M"    },
> > +    { "b",         "2M"    },
> >       { "refs",      "0"     },
> >       { "g",         "248"   },
> >       { "bf",        "-1"    },
> > diff --git a/libavcodec/qsvenc_mpeg2.c b/libavcodec/qsvenc_mpeg2.c
> > index 22f1ff7c0d..012cec3a58 100644
> > --- a/libavcodec/qsvenc_mpeg2.c
> > +++ b/libavcodec/qsvenc_mpeg2.c
> > @@ -82,7 +82,7 @@ static const AVClass class = {
> >   };
> >   
> >   static const FFCodecDefault qsv_enc_defaults[] = {
> > -    { "b",         "1M"    },
> > +    { "b",         "2M"    },
> >       { "refs",      "0"     },
> >       // same as the x264 default
> >       { "g",         "250"   },
> > diff --git a/libavcodec/qsvenc_vp9.c b/libavcodec/qsvenc_vp9.c
> > index d0340ef94b..8658b8ec2d 100644
> > --- a/libavcodec/qsvenc_vp9.c
> > +++ b/libavcodec/qsvenc_vp9.c
> > @@ -93,7 +93,7 @@ static const AVClass class = {
> >   };
> >   
> >   static const FFCodecDefault qsv_enc_defaults[] = {
> > -    { "b",         "1M"    },
> > +    { "b",         "2M"    },
> >       { "refs",      "0"     },
> >       { "g",         "250"   },
> >       { "trellis",   "-1"    },
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".



More information about the ffmpeg-devel mailing list