[Libav-user] How to keep AVFrame data after codec close

Paul B Mahol onemda at gmail.com
Thu Dec 5 21:22:04 CET 2013

On 12/5/13, Bruce Wheaton <bruce at spearmorgan.com> wrote:
> On Dec 5, 2013, at 3:41 AM, Paul B Mahol <onemda at gmail.com> wrote:
>> On 12/5/13, Eric Beuque <eric.beuque at gmail.com> wrote:
>>> How i can tell libavcodec that i want to become the owner of the data
>>> and
>>> be able to free it, to without codec context instance? I was thinking
>>> about
>>> using get/release_buffer functions, but i don't know how to compute size
>>> of
>>> the data.
>>> Is data memcpy the only way to do this?
>>> Note, that i also can't upgrade to new version of FFMPEG.
>>> Thanks for your help.
>> Use reference counting system.
>> They you need to manually free frame once you will not need it
>> (otherwise you leak memory), so you do not need to do copy.
> In my recent experiments, it seemed that closing the codec actually frees
> all buffers, regardless of reference count. That makes sense - if the codec
> is gone, what would detect the decreased reference count?

That sound wrong to me, either when decoding or encoding frames should
not be freed if frame is still used.

> Bruce
> _______________________________________________
> Libav-user mailing list
> Libav-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/libav-user

More information about the Libav-user mailing list