[FFmpeg-devel] [PATCH v5 2/2] avcodec/libvpxenc: add a way to explicitly set temporal layer id

James Zern jzern at google.com
Fri Feb 7 06:40:21 EET 2020


On Thu, Feb 6, 2020 at 8:58 AM Wonkap Jang
<wonkap-at-google.com at ffmpeg.org> wrote:
>
> Hi James,
>
> On Wed, Feb 5, 2020 at 5:29 PM James Zern <jzern-at-google.com at ffmpeg.org>
> wrote:
>
> > On Mon, Feb 3, 2020 at 5:45 PM Wonkap Jang
> > <wonkap-at-google.com at ffmpeg.org> wrote:
> > >
> > > Hi
> > >
> > > On Mon, Feb 3, 2020 at 12:45 PM James Zern <
> > jzern-at-google.com at ffmpeg.org>
> > > wrote:
> > >
> > > > On Mon, Feb 3, 2020 at 10:02 AM Wonkap Jang
> > > > <wonkap-at-google.com at ffmpeg.org> wrote:
> > > > >
> > > > > In order for rate control to correctly allocate bitrate to each
> > temporal
> > > > > layer, correct temporal layer id has to be set to each frame. This
> > > > > commit provides the ability to set correct temporal layer id for each
> > > > > frame.
> > > > > ---
> > > > >  libavcodec/libvpxenc.c | 13 ++++++++++++-
> > > > >  1 file changed, 12 insertions(+), 1 deletion(-)
> > > > >
> > > > > diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c
> > > > > index 6fca05e6b1..2093aa8bca 100644
> > > > > --- a/libavcodec/libvpxenc.c
> > > > > +++ b/libavcodec/libvpxenc.c
> > > > > @@ -1519,11 +1519,22 @@ static int vpx_encode(AVCodecContext *avctx,
> > > > AVPacket *pkt,
> > > > >  #endif
> > > > >          if (frame->pict_type == AV_PICTURE_TYPE_I)
> > > > >              flags |= VPX_EFLAG_FORCE_KF;
> > > > > -        if (CONFIG_LIBVPX_VP8_ENCODER && avctx->codec_id ==
> > > > AV_CODEC_ID_VP8 && frame->metadata) {
> > > > > +        if (frame->metadata) {
> > > > >              AVDictionaryEntry* en = av_dict_get(frame->metadata,
> > > > "vp8-flags", NULL, 0);
> > > >
> > > > I think you'll want to check the codec being used for this one still.
> > > > _______________________________________________
> > > > 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".
> > >
> > >
> > > You want me to check whether it is vp8 or vp9? because... the flags will
> > > work for both, right?
> > >
> >
> > I meant specifically the field called 'vp8-flags', but looking again
> > that looks mostly like it was misnamed. I think there's a mention in
> > doc/encoders.texi about metadata, should that be updated to make
> > explicit reference to this field?
> >
> > [...]
> So.. what is your suggestion?
> just mention in the doc that the vp8-flags is used for both vp8 and vp9 and
> how it is used?
>

Sorry if it wasn't clear, in this case I was referring to the mention
of metadata related to temporal_id:
"No temporal layering flags are provided internally,
relies on flags being passed in using metadata in AVFrame."

The addition of vp8-flags could be a follow up.


More information about the ffmpeg-devel mailing list