[FFmpeg-devel] [PATCH] avutil/frame: Remove requirements to use accessors for AVFrame

wm4 nfxjfg at googlemail.com
Tue Jan 10 09:04:51 EET 2017


On Mon, 9 Jan 2017 18:38:04 +0100
Michael Niedermayer <michael at niedermayer.cc> wrote:

> On Mon, Jan 09, 2017 at 10:27:09AM -0500, Ronald S. Bultje wrote:
> > Hi,
> > 
> > On Mon, Jan 9, 2017 at 8:48 AM, wm4 <nfxjfg at googlemail.com> wrote:
> >   
> > > On Mon, 9 Jan 2017 08:17:08 -0500
> > > "Ronald S. Bultje" <rsbultje at gmail.com> wrote:
> > >  
> > > > Hi,
> > > >
> > > > On Mon, Jan 9, 2017 at 7:15 AM, wm4 <nfxjfg at googlemail.com> wrote:
> > > >  
> > > > >     /**
> > > > >      * Not to be accessed directly from outside libavutil
> > > > >      */
> > > > >     AVBufferRef *qp_table_buf;
> > > > >
> > > > > The comment should be adjusted and allow direct access. Also,
> > > > > it should be moved out of the FF_API_FRAME_QP ifdef (why was
> > > > > it under it anyway).  
> > > >
> > > >
> > > > I disagree. FF_API_FRAME_QP is not something that exists or is useful
> > > > outside a handful of codecs (basically mpeg-1/2/4). If we want this to be
> > > > public API, it should exist in a way that makes it useful to the majority
> > > > of codecs that use quantization. I'm speaking codecs not developed by
> > > > people that implemented qp_table_buf, for example vp3/5/6/8/9 etc.
> > > >
> > > > This also means we need a useful way to normalization the quantizer to a
> > > > universal scale. Exporting it as SCALE_MPEG, SCALE_H264 etc. is not  
> > > useful.  
> > > > We need a universal Q so -sameq has some kind of meaning when re-encoding
> > > > mpeg-4 to vp9. Also, aq visualization in libavfilter would suddenly be
> > > > meaningful across codecs. Etc.  
> > >
> > > Ah, I thought the QP API survived, but now I see that the accessors are
> > > within FF_API_FRAME_QP as well. So this is not a bug like I thought,
> > > but intentional, and all QP retrieval will be removed after the API
> > > bump. Just strange that the accessors have no attribute_deprecated.  
> > 
> > 
> > I agree that's strange. We should probably add them...  
> 
> before deprecating the API to access the QP tables a replacement is
> needed and uses of teh API should be changed to use the replacement.
> Otherwise not only would code using it conflict with a API bump but
> also produce warnings about use of deprecated code

FF_API_FRAME_QP seems to remove QP data completely. I got this wrong in
my previous post and thought it affected the old non-AVBuffer data
fields only.


More information about the ffmpeg-devel mailing list