[FFmpeg-devel] [PATCH 2/7] decode: add a method for attaching lavc-internal data to frames

wm4 nfxjfg at googlemail.com
Wed Oct 4 10:12:29 EEST 2017

On Tue, 3 Oct 2017 21:40:58 +0200
Michael Niedermayer <michael at niedermayer.cc> wrote:

> On Tue, Oct 03, 2017 at 03:15:13PM +0200, wm4 wrote:
> > From: Anton Khirnov <anton at khirnov.net>
> >   
> > Use the AVFrame.opaque_ref field. The original user's opaque_ref is
> > wrapped in the lavc struct and then unwrapped before the frame is
> > returned to the caller.  
> this is a ugly hack
> one and the same field should not be used to hold both the
> users opaque_ref as well as a structure which is itself not a user
> opaque_ref

While the AVFrame is within libavcodec, it's libavcodec's frame, not
the user's. Thus your claim doesn't make too much sense. libavcodec
fully controls the meaning for its own AVFrames' opaque_ref, but
reconstruct the user's value when returning it.

Though to be honest, I'd just have defined that get_buffer does not
allow the field to be set.

More information about the ffmpeg-devel mailing list