[FFmpeg-devel] [PATCH] Add libavsequencer.

Michael Niedermayer michaelni
Thu Aug 19 00:19:09 CEST 2010

On Thu, Aug 19, 2010 at 12:07:02AM +0200, Sebastian Vater wrote:
> 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?

it can resample :)
its also capable to adjust the sample rate dynamically within a small
window around the setup samplerate.

iam not sure if it can be used and i dont think we should try too hard
to do that at this point. maybe at some point the resampler and the mixer
could be merged somehow but this is probably better to be considered after
the code is in svn.

a unrelated idea that just crossed my mind is that as the mixer mixes
things together there is likely alot of repeated work done, like things
being resampled to the same rates. This could be cached to speedup mixing

Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Complexity theory is the science of finding the exact solution to an
approximation. Benchmarking OTOH is finding an approximation of the exact
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 190 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100819/159cefa8/attachment.pgp>

More information about the ffmpeg-devel mailing list