[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