[FFmpeg-trac] #1149(undetermined:closed): wrong channels / poor playback for 7 channel dts
FFmpeg
trac at avcodec.org
Sat Mar 31 20:28:35 CEST 2012
#1149: wrong channels / poor playback for 7 channel dts
-------------------------------------+-------------------------------------
Reporter: fro | Owner:
Type: defect | Status: closed
Priority: normal | Component:
Version: git-master | undetermined
Keywords: dts 6.1 | Resolution:
Blocking: | worksforme
Analyzed by developer: 0 | Blocked By:
| Reproduced by developer: 0
-------------------------------------+-------------------------------------
Comment (by Cigaes):
Replying to [comment:7 fro]:
> The sound system should not be involved as it always sees the same thing
(stereo).
That is not true: the sound system sees what the player gives it.
> The player being what reduces whatever channel layout of the source to
stereo. (as I understand it)
Depends on the player design. In MPlayer, the design is to try to output
the number of channels specified by the {{{-channels}}} option, defaulting
to 2, using builtin codec capabilities if possible (it is possible with
DTS) and manual downmixing if not.
In ffplay, the design is to output the data as decoded by the codec, and
by default it request for the maximum number of channels. The latter point
can be adjusted with {{{-request_channels}}}, but it only works for codecs
that support it; PCM, obviously, can not.
> ffmpeg is capable of converting multi-channel dts to multi-channel
flac/ogg/wav and it should sound the same (esp. for the supposedly loss
less formats) but that does not actually work. It still sounds to me like
all channels are there somehow after the conversion, but just used in the
wrong order.
The order is indeed wrong. The reason for that has already been given: SDL
does not support 7 channels, while it supports 2 channels and 6 channels.
Here is a pointer to the relevant snippet of source code of SDL:
[http://hg.libsdl.org/SDL/file/6bb657898f55/src/audio/alsa/SDL_alsa_audio.c#l271]
Adding a workaround in ffplay would technically be possible, but it would
conflict with a possible future implementation in SDL itself. For now,
best to consider that complex channel layouts are not supported by ffplay.
Note that the internal rematrixing code in libswresample correctly handles
6.1 to stereo conversion.
--
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1149#comment:8>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list