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. Ronald _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
