Thanks for the heads up. But, I'm on acronym overload. What is IIRC exactly, and what does it mean to FFMPEG. Sorry - I'm relatively new to the FFMPEG library.
I'm a bit confused, because it seems that FFMPEG should allow me to write a new filter and add it to the library. And the examples provided in the code seem to suggest that i can use filters programmatically, as opposed to just on the command line. I guess I need a better guide on the ins and outs of doing that. Thanks. Richard On Mar 27, 2013, at 5:22 AM, Paul B Mahol <[email protected]> wrote: > On 3/26/13, Richard Schilling <[email protected]> wrote: >> Greetings. >> >> This is my first post. I looked in the listserv archives but didn't find >> anyone talking about this, so here it goes. >> >> I need to implement a new audio (audio only) filter. I see the example code >> in filtering_audio.c that uses a buffer sink. But, I'm having a hard time >> finding particulars on what everything means. So, I'm hoping someone on >> this list can help. >> >> My goal: I have an application that uses the FFMPG library. I need to >> create a new custom audio filter, say my_filter.c. >> >> filtering_audio.c looks like the place to start. Is that correct? > > IIRC currently the only way to implement new filters is in libavfilter itself. > >> >> In filtering_audio.c: >> >> * Can I get a basic walk-through of the code in the function init_filters? >> it looks like there is a source (AVFilter *abuffersrc) and sink buffer >> (AVFilter *abuffersing). This looks like two filters. How do I install >> just one filter? I'm looking for a basic checklist here so I know that my >> calls to avfilter_graph_create_filter, av_filtergraph_parse, etc ... are >> correct ... .basically a walk-through of the example code. >> >> * In avfilter_asink_abuffer (buffersink.c) I see .inputs and .outputs >> defined. .inputs defines an AVFilterPad called "default". .outputs defines >> no (NULL) filter pads. How does this relate to this code in >> filtering_audio.c? >> >> /* Endpoints for the filter graph. */ >> outputs->name = av_strdup("in"); >> outputs->filter_ctx = buffersrc_ctx; >> outputs->pad_idx = 0; >> outputs->next = NULL; >> >> inputs->name = av_strdup("out"); >> inputs->filter_ctx = buffersink_ctx; >> inputs->pad_idx = 0; >> inputs->next = NULL; >> >> >> Thank you in advance. >> >> Cheers, >> Richard Schilling > _______________________________________________ > Libav-user mailing list > [email protected] > http://ffmpeg.org/mailman/listinfo/libav-user _______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
