On date Wednesday 2011-04-27 14:45:04 +0000, Ronald S. Bultje wrote:
> Hi,
> 
> On Wed, Apr 27, 2011 at 2:39 PM, Ronald S. Bultje <[email protected]> wrote:
> > Hi,
> >
> > On Wed, Apr 27, 2011 at 10:52 AM, Stefano Sabatini
> > <[email protected]> wrote:
> >> On date Tuesday 2011-04-26 19:20:46 +0200, Reimar Döffinger encoded:
> >>> On Tue, Apr 26, 2011 at 11:53:25AM +0200, Stefano Sabatini wrote:
> >>> > Also remove unnecessary call to avctx->release_buffer(). reget_buffer
> >>> > is required since apparently the coded needs to be passed the previous
> >>> > frame data again.
> >>>
> >>> If that is correct
> >>>
> >>> >      p->reference= 0;
> >>> > -    if(avctx->get_buffer(avctx, p) < 0){
> >>> > -        av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
> >>> > +    if (avctx->reget_buffer(avctx, p) < 0) {
> >>>
> >>> This can't work.
> >>> Setting reference=0 means (I think) e.g. it is ok for libavfilter to
> >>> just draw an OSD directly on the frame instead of making a copy.
> >>> Or to say it differently: Always using reference = 0 and reget_buffer 
> >>> together
> >>> make no sense.
> >>
> >> So may naive fix is: force reference to 1, so application/libavfilter
> >
> > That is incorrect. reference=1 means only the top field is referenced.
> > You need to set reference=3. (Not that it matters, but just to be
> > correct.)
> 
> So queued with that.

Thanks.
-- 
I have never been one to sacrifice my appetite on the altar of appearance.
                -- A. M. Readyhough
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to