[FFmpeg-user] Input 5.1 DTS, output 2.0 MP3: Atrocious Quality

Moritz Barsnick barsnick at gmx.net
Sat May 16 13:07:01 CEST 2015


On Sat, May 16, 2015 at 10:27:07 +0000, Carl Eugen Hoyos wrote:
> Andy Furniss <adf.lists <at> gmail.com> writes:
> 
> > IIRC this has come up before. The issue seems 
> > to be that sometimes -ac 2 normalises and 
> > sometimes it doesn't (depending on what codec 
> > is used).
> > 
> > You can see whether or not the matrix is 
> > normalised with -loglevel debug.
> 
> I was under the impression that the output option 
> "-ac 2" always normalizes the input.
> Do you have an example command line that shows 
> the opposite?

Without listening to the audio content, just taking Andy's words and
ffmpeg log output:

I can confirm by comparing
$ ffmpeg -loglevel debug -i inter.dts -ac 2 -c:a libmp3lame -f null -
$ ffmpeg -loglevel debug -i inter.dts -ac 2 -c:a pcm_s16le -f null -
You can insert other arbitrary codecs at will.

The former shows a matrix:
1.000000 0.000000 0.707107 0.000000 0.707107 0.000000
0.000000 1.000000 0.707107 0.000000 0.000000 0.707107
[auto-inserted resampler 0 @ 0xb713840] ch:6 chl:5.1(side) fmt:fltp r:48000Hz -> ch:2 chl:stereo fmt:fltp r:48000Hz

while the latter shows:
0.414214 0.000000 0.292893 0.000000 0.292893 0.000000
0.000000 0.414214 0.292893 0.000000 0.000000 0.292893
[auto-inserted resampler 0 @ 0xb3b55c0] ch:6 chl:5.1(side) fmt:fltp r:48000Hz -> ch:2 chl:stereo fmt:s16 r:48000Hz

I think this may be the described behavior.

(Unfortunately, my math tells me that the former matrix is bound to
cause overflows with value-restricted numerical formats. There's
something I don't seem to understand there. And is LFE really ignored
when downmixing?)

Moritz


More information about the ffmpeg-user mailing list