On Wed, Oct 14, 2015 at 4:48 PM, Grady Player <grady.pla...@verizondigitalmedia.com> wrote: > the doxygen, docs dont really point to any difference… (the prototype for > av_buffersrc_add_frame doesn’t match my header, not sure if that is a version > issue)
Must have been the av_warn_unused_result I added recently - no need to worry about that: it is really for user's benefit so that they check the return codes correctly (GCC should emit a -Wunused-result error when the return code is not used/checked). I will look into the docs soon: there is some difference, "add a frame" and "add frame data" are IMO clearly different things. Any concrete rewordings based on your experience are welcome. > > int av_buffersrc_write_frame ( AVFilterContext * s, const > AVFrame * frame ) > Add a frame to the buffer source. > > int av_buffersrc_add_frame (AVFilterContext *buffer_src, const AVFrame > *frame, int flags) > Add frame data to buffer_src. > > > On Oct 14, 2015, at 2:15 PM, Ganesh Ajjanagadde <gajja...@mit.edu> wrote: > >> On Wed, Oct 14, 2015 at 4:13 PM, Grady Player >> <grady.pla...@verizondigitalmedia.com> wrote: >>> 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.. >> >> Was the documentation confusing? Any suggestions for improving the docs? >> >>> >>> -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 >> _______________________________________________ >> 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