[Ffmpeg-devel] Re: dv video format with 32 kHz audio?
Fri Jun 2 02:07:38 CEST 2006
On Wed, May 31, 2006 at 11:54:55AM +0300, Mikko Rapeli wrote:
> On Tue, May 30, 2006 at 07:51:19PM -0700, Roman Shaposhnik wrote:
> > Ok, first of all -- what are you trying to accomplish here ? If you're
> > trying to add native support for 32KHz sound then I'm not against it
> > in principle (and I will apply a clean patch) but I have no interest
> > in working on it myself. Now here's why the current patch doesn't quite
> > cut it:
> > 1. I don't want 32kHZ sound to be at a target level. Simply accept
> > such streams when they are given. Better yet -- issue a warning.
> > 2. 32kHZ should only be accepted for IEC 61834 profile. It is illegal
> > for SMPTE profiles.
> True. Current patch is just for testing so I'll fix these after 32kHz
> audio really works. My motivation is just to finish the video editing
> projects on my 250 GB disk without having to buy more disk space :)
You can actually look at libdv, since I believe it had some code
for 32kHz. Now, when I used it it produced the popping noise,
but that was a long time ago.
> > 3. The hardest one: you have to figure out the correct sample
> > distribution policy akin to what's going on in
> > dv_profiles .audio_samples_dist. So that there's no popping
> > sound. AFAIK, the only document that might specify it is a
> > IEC DV spec.
> So the popping comes when uninitialized memory is in the audio part of a
> packet after the 32kHz samples.
Uninitialized memory is only part of the problem. It also comes from the
incorrect # of audio samples as specified in dv_audio_source pack.
> I don't quite understand the difference of audio_min_samples and
> audio_samples_dist. I suppose samples_dist is used when samples don't
> distribute evenly to every frame, and perhaps for some kind of padding,
> which eases implementations. Is that it?
They are never distributed evenly :-( The audio_min_samples is the min.
amount of samples DV is willing to tolerate in every given frame,
where audio_samples_dist is the ideal # of samples in every given frame
calculated as to avoid popping sound.
More information about the ffmpeg-devel