[FFmpeg-devel] [PATCH] Add libavsequencer.

Sebastian Vater cdgs.basty
Thu Aug 19 00:07:02 CEST 2010

M?ns Rullg?rd a ?crit :
> Sebastian Vater <cdgs.basty at googlemail.com> writes:
>> Ronald S. Bultje a ?crit :
>>> Hi,
>>> On Wed, Aug 18, 2010 at 4:48 PM, Sebastian Vater
>>> <cdgs.basty at googlemail.com> wrote:
>>>> So I think, the best way to continue this discussion is to decide to
>>>> keep mixers in avseq or to move somewhere else, if the latter one then
>>>> where it should finally go? avfilter?
>>> I think I'm confused, but what is lavseq if it's not the mixer? It
>>> can't be BSS, because BSS will be in libavcodec/, since the decoders
>>> out there will depend on it for parsing mod files.
>> Just another point I might should mention...
>> A mixer can also be used perfectly to convert a simple WAV file input
>> sampling rate to a different sampling rate.
>> To accomplish that, you would (for a mono WAV) simply allocate one
>> channel in the mixer, set it's to input sample frequency, bit depth, set
>> volume to full (0xFF), panning to left and set the mixer output
>> frequency to target sampling rate desired.
>> You'll get a (32-PCM version) though of the input WAV file at the target
>> sampling rate. Just dither that to the WAV file input sampling rate, and
>> you have simple resampling.
> Resampling must be done by the resampler we already have.  The most
> obvious way would be to convert all samples to the target rate when
> loading them, then mix them at that rate.

These examples were just supposed for better understanding of how mixers
work, since I noticed some confusion here. For such simple tasks, we
should of course the specialized resamplers we already have.

Unfortunately, for mod this won't work, because each sample can have
practically any sample rate, stereo position, volume level (independent
of each channel) at any playback position.

So to say, the resampler you spoke of is mathematically a sub-set of the
mixer I'm discussing, but however specially optimized for that task.

I don't know right the details and limits of the resampler we already
have, but if it can accomplish the tasks I mentioned for mods above, we
can change avsequencer to use the already resampler (maybe extending it
a bit).

Could someone please summarize the features of our current resampler?


Best regards,
                   :-) Basty/CDGS (-:

More information about the ffmpeg-devel mailing list