[FFmpeg-devel] [PATCH] Add libavsequencer.

Michael Niedermayer michaelni
Thu Aug 19 03:39:11 CEST 2010


On Thu, Aug 19, 2010 at 01:43:31AM +0200, Sebastian Vater wrote:
> Michael Niedermayer a ?crit :
> > 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.
> >   
> 
> Just a question, why only in a small window? I ask because my mixers
> allow to change the sample rate in a full range at full freewill. Are
> there specific reasons for this?

it was intended to compensate variing timestamps and samplerates ...
and these dont vary by large amounts


[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I have often repented speaking, but never of holding my tongue.
-- Xenocrates
-------------- 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/f77424f6/attachment.pgp>



More information about the ffmpeg-devel mailing list