[FFmpeg-devel] [PATCH] Add af_resample - sample fmt and channel layout conversion filter

Stefano Sabatini stefano.sabatini-lala
Fri Oct 1 18:40:24 CEST 2010


On date Monday 2010-09-27 02:50:41 +0200, Michael Niedermayer encoded:
> On Mon, Sep 27, 2010 at 02:41:16AM +0200, Stefano Sabatini wrote:
> > On date Monday 2010-09-27 02:21:49 +0200, Michael Niedermayer encoded:
> > > On Mon, Sep 27, 2010 at 12:40:31AM +0200, Stefano Sabatini wrote:
> > [...]
> > > > > the functions belong to libavfilter
> > > > > what is the plan to move them there?
> > > > 
> > > > Impossible as lavc uses that functions internally.  The plan was to
> > > 
> > > resample uses them, resample doesnt belong to lavc, not more than
> > > sws would belong there
> > > 
> > > 
> > > > directly use them, and move to something better when we'll have a
> > > > revisited resampling/conversion API, a libavresample was mentioned.
> > > > Since this is not going to take small time, the idea was to use the
> > > > quickest solution and not stall audio lavfi development.
> > > 
> > > the quickest is to copy the 2 pages of poor code not to export it as
> > > public ABI/API from the wrong lib
> > > that API/ABI requires maintaince and is not a small burden when things
> > > have to be moved to the correct place or when API/ABI changes which with
> > > such trashy code will happen unless development stops
> > 
> > OK so the quickest path looks like to duplicate the code as it was
> > done in the original version from Hemanth...
> 
> yes, i dont like it but i think this is a rare case where this will cause
> fewer problems
> 
> also the code in libavcodec should be marked as deprecated as soon as possible

Updated patch based on an old patch from Hemanth (Hemanth feel free to
continue to discuss starting from this patch).

My plan is to get -af implemented in ffplay, this requires these
steps:
* resample filter
* resample filter auto-insertion provided by the lavfi framework
* avfilter_get_audio_buffer_ref() or the equivalent, required for
  eliminating an unnecessary memcpy
* ffplay -af

Once it is possible to test somehow libavfilter with audio, then we
can move to ffmpeg:
* asrc_buffer
* ffmpeg -af
* audio lavfi tests

Regards.
-- 
FFmpeg = Frenzy Forgiving Minimalistic Pitiless Epic Governor



More information about the ffmpeg-devel mailing list