Figured it out, sharing (if anyone were to care)… I was using av_buffersrc_add_frame rather than: av_buffersrc_write_frame
which informs the buffer to retain an internal reference to the original picture/frame.. -Grady On Oct 14, 2015, at 11:50 AM, Grady Player <grady.pla...@verizondigitalmedia.com> wrote: > Yes, sorry this was omitted - after I am done I call: > > av_frame_free(&oframe); > > it seems to be something that is internally referenced by the graph... > > > On Oct 14, 2015, at 10:50 AM, Paul B Mahol <one...@gmail.com> wrote: > >> Dana 14. 10. 2015. 17:36 osoba "Grady Player" < >> grady.pla...@verizondigitalmedia.com> napisala je: >>> >>> Currently using: >>> >>> commit af5917698bd44f136fd0ff00a9e5f8b5f92f2d58 >>> Author: Michael Niedermayer <michae...@gmx.at> >>> Date: Sun May 17 01:34:35 2015 +0200 >>> >>> I am trying to set up a small filter graph in order to use the YADIF >> implementation in libavfilter... >>> >>> I have set up an avfilter_graph with 3 filters… >>> >>> avfilter_register_all(); >>> avfGraph = avfilter_graph_alloc(); >>> >>> AVFilter * bufferFilter, * yadifFilter, * bufferSink; >>> >>> bufferFilter = avfilter_get_by_name("buffer"); >>> yadifFilter = avfilter_get_by_name("yadif"); >>> bufferSink = avfilter_get_by_name("buffersink”); >>> >>> /* dynamic configuration here */ >>> >>> avfilter_graph_create_filter(/*done for each filter */); >>> >>> if (err >= 0) err = avfilter_link(buffer_ctx, 0, yadif_ctx, 0); >>> if (err >= 0) err = avfilter_link(yadif_ctx, 0, sink_ctx, 0); >>> >>> if (err>=0) err = avfilter_graph_config(avfGraph, NULL); >>> >>> >>> Then I feed frames into the graph with: >>> >>> err = av_buffersrc_add_frame(buffer_ctx, avf); >>> >>> and pull frames out of the graph with: >>> >>> AVFrame * oframe = av_frame_alloc(); >>> err = av_buffersink_get_frame(sink_ctx, oframe); >>> >>> >>> this all seems to work pretty well, except it is holding on to a lot of >> memory that is released in avfilter_graph_free() >>> >>> I suspect it is something dumb, but is there something I need to be doing >> to release internal references to some resource? >>> >>> >>> >> >> Do you free frame you no longer need? >> _______________________________________________ >>> ffmpeg-devel mailing list >>> ffmpeg-devel@ffmpeg.org >>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> _______________________________________________ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org >> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel