On Sat, 7 Dec 2013 22:16:41 -0800
Bruce Wheaton <[email protected]> wrote:

> On Dec 6, 2013, at 4:39 PM, wm4 <[email protected]> wrote:
> 
> > On Thu, 5 Dec 2013 10:53:37 -0800
> > Bruce Wheaton <[email protected]> wrote:
> > 
> >> On Dec 5, 2013, at 3:41 AM, Paul B Mahol <[email protected]> wrote:
> >> 
> >>> On 12/5/13, Eric Beuque <[email protected]> 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? 
> > 
> > Did you set AVCodecContext.refcounted_frames to 1? There are other
> > weird requirements to use refcounting, such as allocating AVFrames with
> > av_frame_alloc() instead of avcodec_frame_alloc() (or whatever it was).
> 
> Yes, I followed all the directions I could find, including those two. In the 
> end, memory kept increasing, and I found that I couldn't keep buffers longer 
> than i had the codec and context open.
> 
> It was also quite a memory hog. Saving the copy turned out to have some 
> downsides.

This should not happen. Others (including myself) are using refcounting
successfully. Are you unreffing the AVFrame before passing it do the
decoder? Are you sure you're not using avcodec_free_frame() etc.?
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to