Jump to content

Most audio formats downmixed to stereo


stettler

Recommended Posts

stettler

Ok, maybe I am missing something obvious but most movies I play are downmixed to stereo.

 

I have a 7.1.4 AV that can handle nearly all format. When I play a TrueHD (TrueHD + atmos) sound track, everything is fine. When I play a eac3 6 channels or ac3 6 channels track, it's downmixed to stereo.

 

All audio format are checked in ET and I tested with both auto and 7.1 speakers.

 

If I play the same video directly from the command line, without any specific option, everything is fine.

 

 

Here is part of the relevant logs:

 

Video played from ET (stereo audio):

[   0.033][v][mkv] | + a track...
[   0.033][v][mkv] |  + Track number: 1
[   0.033][v][mkv] |  + Track type: Video
[   0.033][v][mkv] |  + Video track
[   0.033][v][mkv] |   + Display width: 3840
[   0.033][v][mkv] |   + Display height: 2160
[   0.033][v][mkv] |   + Pixel width: 3840
[   0.033][v][mkv] |   + Pixel height: 2160
[   0.033][v][mkv] |  + Codec ID: V_MPEGH/ISO/HEVC
[   0.033][v][mkv] |  + CodecPrivate, length 207
[   0.033][v][mkv] |  + Language: und
[   0.033][v][mkv] |  + Default duration: 41.708ms ( = 23.976 fps)
[   0.033][v][mkv] | + a track...
[   0.033][v][mkv] |  + Track number: 2
[   0.033][v][mkv] |  + Track type: Audio
[   0.033][v][mkv] |  + Audio track
[   0.033][v][mkv] |   + Sampling frequency: 48000.000000
[   0.033][v][mkv] |   + Channels: 6
[   0.033][v][mkv] |  + Codec ID: A_EAC3
[   0.033][v][mkv] |  + Language: fra
[   0.033][v][mkv] |  + Default duration: 32.000ms ( = 31.250 fps)
[   0.033][v][mkv] | + a track...
[   0.033][v][mkv] |  + Track number: 3
[   0.033][v][mkv] |  + Track type: Audio
[   0.033][v][mkv] |  + Audio track
[   0.033][v][mkv] |   + Sampling frequency: 48000.000000
[   0.033][v][mkv] |   + Channels: 8
[   0.033][v][mkv] |  + Codec ID: A_TRUEHD
[   0.033][v][mkv] |  + Default flag: 0
[   0.033][v][mkv] | + a track...
[   0.033][v][mkv] |  + Track number: 4
[   0.033][v][mkv] |  + Track type: Audio
[   0.033][v][mkv] |  + Audio track
[   0.033][v][mkv] |   + Sampling frequency: 48000.000000
[   0.033][v][mkv] |   + Channels: 6
[   0.033][v][mkv] |  + Codec ID: A_AC3
[   0.033][v][mkv] |  + Language: fra
[   0.033][v][mkv] |  + Default flag: 0
[   0.033][v][mkv] |  + Default duration: 32.000ms ( = 31.250 fps)

...

[   0.514][v][vd] Codec list:
[   0.514][v][vd]     hevc - HEVC (High Efficiency Video Coding)
[   0.514][v][vd]     hevc_cuvid (hevc) - Nvidia CUVID HEVC decoder
[   0.514][v][vd] Opening decoder hevc
[   0.515][v][vd] Looking at hwdec hevc-d3d11va-copy...
[   0.531][v][vd] Trying hardware decoding via hevc-d3d11va-copy.
[   0.531][v][vd] Selected codec: hevc (HEVC (High Efficiency Video Coding))
[   0.531][v][vf] User filter list:
[   0.531][v][vf]   (empty)
[   0.532][v][ad] Codec list:
[   0.532][v][ad]     spdif_eac3 (eac3) - libavformat/spdifenc audio pass-through decoder
[   0.532][v][ad] Opening decoder spdif_eac3
[   0.532][v][ad] Selected codec: spdif_eac3 (libavformat/spdifenc audio pass-through decoder)
[   0.532][v][af] User filter list:
[   0.532][v][af]   (empty)
[   0.532][v][cplayer] Starting playback...
[   0.532][refreshrate] Using monitor -:\\.\DISPLAY1
[   0.532][refreshrate] Querying Refresh Rate...
[   0.533][v][ad] In: profile=-99 samplerate=0
[   0.533][v][af] [in] 192000Hz stereo 2ch spdif-eac3
[   0.533][v][af] [userspeed] 192000Hz stereo 2ch spdif-eac3
[   0.533][v][af] [userspeed] (disabled)
[   0.533][v][af] [convert] 192000Hz stereo 2ch spdif-eac3

...

[   0.665][v][ao/wasapi] No device specified. Selecting default.
[   0.669][v][ao/wasapi] Selecting device '{4f70e848-74ca-4784-a35b-c087107ea058}' (EPSON PJ (NVIDIA High Definition Audio))
[   0.669][v][ao/wasapi] Monitoring changes in device {0.0.0.00000000}.{4f70e848-74ca-4784-a35b-c087107ea058}
[   0.673][d][ao/wasapi] Init wasapi thread
[   0.673][d][ao/wasapi] Activating pAudioClient interface
[   0.678][d][ao/wasapi] Probing formats
[   0.689][v][ao/wasapi] Trying stereo spdif-eac3 (16/16 bits) @ 192000hz (exclusive) -> ok
[   0.689][v][ao/wasapi] Accepted as stereo spdif-eac3 @ 192000hz -> stereo spdif-eac3 (16/16 bits) @ 192000hz (exclusive)
[   0.689][d][ao/wasapi] Fixing format
[   0.689][d][ao/wasapi] IAudioClient::GetDevicePeriod
[   0.689][v][ao/wasapi] Device period: 10 ms
[   0.689][d][ao/wasapi] IAudioClient::Initialize
[   0.712][d][ao/wasapi] IAudioClient::Initialize pRenderClient
[   0.712][d][ao/wasapi] IAudioClient::Initialize IAudioClient_SetEventHandle
[   0.712][d][ao/wasapi] IAudioClient::Initialize IAudioClient_GetBufferSize
[   0.712][v][ao/wasapi] Buffer frame count: 1920 (10 ms)
[   0.712][v][ao/wasapi] IAudioClock::GetFrequency gave a frequency of 192000.
[   0.720][d][ao/wasapi] Activating pEndpointVolume interface
[   0.720][d][ao/wasapi] IAudioEndpointVolume::QueryHardwareSupport
[   0.720][d][ao/wasapi] Entering dispatch loop
[   0.720][d][ao/wasapi] Init wasapi done
[   0.720][v][ao/wasapi] device buffer: 1920 samples.
[   0.720][v][ao/wasapi] using soft-buffer of 43008 samples.

 

 

Here is the log when calling mpv from the command line without any arguments:

 

[   0.086][v][mkv] | + a track...
[   0.086][v][mkv] |  + Track number: 1
[   0.086][v][mkv] |  + Track type: Video
[   0.086][v][mkv] |  + Video track
[   0.086][v][mkv] |   + Display width: 3840
[   0.086][v][mkv] |   + Display height: 2160
[   0.086][v][mkv] |   + Pixel width: 3840
[   0.086][v][mkv] |   + Pixel height: 2160
[   0.086][v][mkv] |  + Codec ID: V_MPEGH/ISO/HEVC
[   0.086][v][mkv] |  + CodecPrivate, length 207
[   0.086][v][mkv] |  + Language: und
[   0.086][v][mkv] |  + Default duration: 41.708ms ( = 23.976 fps)
[   0.086][v][mkv] | + a track...
[   0.086][v][mkv] |  + Track number: 2
[   0.087][v][mkv] |  + Track type: Audio
[   0.087][v][mkv] |  + Audio track
[   0.087][v][mkv] |   + Sampling frequency: 48000.000000
[   0.087][v][mkv] |   + Channels: 6
[   0.087][v][mkv] |  + Codec ID: A_EAC3
[   0.087][v][mkv] |  + Language: fra
[   0.087][v][mkv] |  + Default duration: 32.000ms ( = 31.250 fps)
[   0.087][v][mkv] | + a track...
[   0.087][v][mkv] |  + Track number: 3
[   0.087][v][mkv] |  + Track type: Audio
[   0.087][v][mkv] |  + Audio track
[   0.087][v][mkv] |   + Sampling frequency: 48000.000000
[   0.087][v][mkv] |   + Channels: 8
[   0.087][v][mkv] |  + Codec ID: A_TRUEHD
[   0.087][v][mkv] |  + Default flag: 0
[   0.087][v][mkv] | + a track...
[   0.087][v][mkv] |  + Track number: 4
[   0.087][v][mkv] |  + Track type: Audio
[   0.087][v][mkv] |  + Audio track
[   0.087][v][mkv] |   + Sampling frequency: 48000.000000
[   0.087][v][mkv] |   + Channels: 6
[   0.087][v][mkv] |  + Codec ID: A_AC3
[   0.087][v][mkv] |  + Language: fra
[   0.087][v][mkv] |  + Default flag: 0
[   0.087][v][mkv] |  + Default duration: 32.000ms ( = 31.250 fps)

...

[   0.567][v][vd] Codec list:
[   0.567][v][vd]     hevc - HEVC (High Efficiency Video Coding)
[   0.567][v][vd]     hevc_cuvid (hevc) - Nvidia CUVID HEVC decoder
[   0.567][v][vd] Opening decoder hevc
[   0.567][v][vd] No hardware decoding requested.
[   0.567][v][vd] Using software decoding.
[   0.567][v][vd] Detected 4 logical cores.
[   0.567][v][vd] Requesting 5 threads for decoding.
[   0.567][v][vd] Selected codec: hevc (HEVC (High Efficiency Video Coding))
[   0.567][v][vf] User filter list:
[   0.567][v][vf]   (empty)
[   0.568][v][ad] Codec list:
[   0.568][v][ad]     eac3 - ATSC A/52B (AC-3, E-AC-3)
[   0.568][v][ad] Opening decoder eac3
[   0.568][v][ad] Requesting 1 threads for decoding.
[   0.568][v][ad] Selected codec: eac3 (ATSC A/52B (AC-3, E-AC-3))
[   0.568][v][af] User filter list:
[   0.568][v][af]   (empty)
[   0.568][v][cplayer] Starting playback...
[   0.569][v][af] [in] 48000Hz 7.1 8ch floatp
[   0.569][v][af] [userspeed] 48000Hz 7.1 8ch floatp
[   0.569][v][af] [userspeed] (disabled)
[   0.569][v][af] [convert] 48000Hz 7.1 8ch floatp
[   0.569][v][ao] Trying audio driver 'wasapi'
[   0.569][v][ao/wasapi] requested format: 48000 Hz, 7.1 channels, floatp
[   0.569][d][ao/wasapi] Init wasapi
[   0.569][d][ao/wasapi] Find device ''

...

[   0.573][v][ao/wasapi] No device specified. Selecting default.
[   0.576][v][ao/wasapi] Selecting device '{4f70e848-74ca-4784-a35b-c087107ea058}' (EPSON PJ (NVIDIA High Definition Audio))
[   0.576][v][ao/wasapi] Monitoring changes in device {0.0.0.00000000}.{4f70e848-74ca-4784-a35b-c087107ea058}
[   0.580][d][ao/wasapi] Init wasapi thread
[   0.581][d][ao/wasapi] Activating pAudioClient interface
[   0.584][d][ao/wasapi] Probing formats
[   0.599][v][ao/wasapi] Trying 7.1 float (32/32 bits) @ 48000hz (shared) -> ok
[   0.599][v][ao/wasapi] Accepted as 7.1 float @ 48000hz -> 7.1 float (32/32 bits) @ 48000hz (shared)
[   0.599][d][ao/wasapi] Fixing format
[   0.599][d][ao/wasapi] IAudioClient::GetDevicePeriod
[   0.600][v][ao/wasapi] Device period: 10 ms
[   0.600][d][ao/wasapi] IAudioClient::Initialize
[   0.624][d][ao/wasapi] IAudioClient::Initialize pRenderClient
[   0.624][d][ao/wasapi] IAudioClient::Initialize IAudioClient_SetEventHandle
[   0.624][d][ao/wasapi] IAudioClient::Initialize IAudioClient_GetBufferSize
[   0.624][v][ao/wasapi] Buffer frame count: 2400 (50 ms)
[   0.625][v][ao/wasapi] IAudioClock::GetFrequency gave a frequency of 1536000.
[   0.627][d][ao/wasapi] IAudioClient::Initialize pAudioVolume
[   0.627][d][ao/wasapi] Entering dispatch loop
[   0.627][d][ao/wasapi] Init wasapi done
[   0.627][v][ao/wasapi] device buffer: 2400 samples.
[   0.627][v][ao/wasapi] using soft-buffer of 9600 samples.
[   0.628][cplayer] AO: [wasapi] 48000Hz 7.1 8ch float
[   0.628][v][cplayer] AO: Description: Windows WASAPI audio output (event mode)
[   0.629][v][autoconvert] inserting resampler
[   0.629][v][swresample] format change, reinitializing resampler
[   0.629][v][swresample] 48000Hz 7.1 floatp -> 48000Hz 7.1 float
[   0.630][v][af] [out] 48000Hz 7.1 8ch float

 

Any idea?

 

Link to comment
Share on other sites

Guest asrequested

The first log is bitstreaming stereo eac3. The second log is converting to PCM. Are you choosing the correct audio track, in Theater? From the command line, audio pass through isn't enabled. That's why it's coming out, that way.

Link to comment
Share on other sites

stettler

The first log is bitstreaming stereo eac3. The second log is converting to PCM. Are you choosing the correct audio track, in Theater? From the command line, audio pass through isn't enabled. That's why it's coming out, that way.

 

Yes, I am selecting the correct audio track. All the track are listed in the log above:

 

 

[   0.086][v][mkv] |  + Track number: 2

[   0.087][v][mkv] |  + Track type: Audio

[   0.087][v][mkv] |   + Channels: 6

[   0.087][v][mkv] |  + Codec ID: A_EAC3

 

[   0.087][v][mkv] |  + Track number: 3

[   0.087][v][mkv] |  + Track type: Audio

[   0.087][v][mkv] |   + Channels: 8

[   0.087][v][mkv] |  + Codec ID: A_TRUEHD

 

[   0.087][v][mkv] |  + Track number: 4

[   0.087][v][mkv] |  + Track type: Audio

[   0.087][v][mkv] |   + Channels: 6

[   0.087][v][mkv] |  + Codec ID: A_AC3

 

The track number 3 (A_TRUEHD) is playing correctly.

Track 2 (A_EAC3) and 4 (A_AC3) are in stereo

Edited by stettler
Link to comment
Share on other sites

stettler

Should I try to remove "--audio-spdif" from the playbackhandler.js file? mpv manual says there is not much reason to use it....

Link to comment
Share on other sites

stettler

What happens if you choose 7.1 and disable audio pass through?

 

If I disable passthrough in ET (except for TrueHD), then I get 7.1 channels.

If I disable passthrough for TrueHD, I lose Atmos. But it's working when passthrough enable so I can leave it like that.

 

If you are interested by the log, I get the following for the eac3 stream with passthrough disabled:

 

[   0.234][v][ad] Codec list:

[   0.234][v][ad]     eac3 - ATSC A/52B (AC-3, E-AC-3)

[   0.234][v][ad] Opening decoder eac3

[   0.234][v][ad] Requesting 1 threads for decoding.

[   0.234][v][ad] Selected codec: eac3 (ATSC A/52B (AC-3, E-AC-3))

[   0.234][v][af] User filter list:

[   0.234][v][af]   (empty)

[   0.234][v][cplayer] Starting playback...

[   0.234][refreshrate] Using monitor -:\\.\DISPLAY1

[   0.234][refreshrate] Querying Refresh Rate...

[   0.235][v][af] [in] 48000Hz 7.1 8ch floatp

[   0.236][v][af] [userspeed] 48000Hz 7.1 8ch floatp

[   0.236][v][af] [userspeed] (disabled)

[   0.236][v][af] [convert] 48000Hz 7.1 8ch floatp

...

[   0.396][v][ao] Trying audio driver 'wasapi'

[   0.396][v][ao/wasapi] requested format: 48000 Hz, 7.1 channels, floatp

[   0.396][d][ao/wasapi] Init wasapi

[   0.396][d][ao/wasapi] Find device ''

[   0.402][v][ao/wasapi] No device specified. Selecting default.

[   0.405][v][ao/wasapi] Selecting device '{4f70e848-74ca-4784-a35b-c087107ea058}' (EPSON PJ (NVIDIA High Definition Audio))

[   0.405][v][ao/wasapi] Monitoring changes in device {0.0.0.00000000}.{4f70e848-74ca-4784-a35b-c087107ea058}

[   0.415][d][ao/wasapi] Init wasapi thread

[   0.416][d][ao/wasapi] Activating pAudioClient interface

[   0.419][d][ao/wasapi] Probing formats

[   0.442][v][ao/wasapi] Trying 7.1 float (32/32 bits) @ 48000hz (shared) -> ok

[   0.442][v][ao/wasapi] Accepted as 7.1 float @ 48000hz -> 7.1 float (32/32 bits) @ 48000hz (shared)

[   0.442][d][ao/wasapi] Fixing format

[   0.442][d][ao/wasapi] IAudioClient::GetDevicePeriod

[   0.442][v][ao/wasapi] Device period: 10 ms

[   0.442][d][ao/wasapi] IAudioClient::Initialize

[   0.485][d][ao/wasapi] IAudioClient::Initialize pRenderClient

[   0.485][d][ao/wasapi] IAudioClient::Initialize IAudioClient_SetEventHandle

[   0.485][d][ao/wasapi] IAudioClient::Initialize IAudioClient_GetBufferSize

[   0.485][v][ao/wasapi] Buffer frame count: 2400 (50 ms)

[   0.485][v][ao/wasapi] IAudioClock::GetFrequency gave a frequency of 1536000.

[   0.488][d][ao/wasapi] IAudioClient::Initialize pAudioVolume

[   0.488][d][ao/wasapi] Entering dispatch loop

[   0.488][d][ao/wasapi] Init wasapi done

[   0.488][v][ao/wasapi] device buffer: 2400 samples.

[   0.488][v][ao/wasapi] using soft-buffer of 9600 samples.

[   0.488][cplayer] AO: [wasapi] 48000Hz 7.1 8ch float

[   0.488][v][cplayer] AO: Description: Windows WASAPI audio output (event mode)

Edited by stettler
Link to comment
Share on other sites

Guest asrequested

They only say that because mpv can decode the audio. But if you use dtsx or Atmos, you have to bitstream. So just leave it. Did the audio play, correctly?

Link to comment
Share on other sites

Guest asrequested

If I disable passthrough in ET (except for TrueHD), then I get 7.1 channels.

If I disable passthrough for TrueHD, I lose Atmos. But it's working when passthrough enable so I can leave it like that.

Curious.

Link to comment
Share on other sites

stettler

They only say that because mpv can decode the audio. But if you use dtsx or Atmos, you have to bitstream. So just leave it. Did the audio play, correctly?

 

Yes, Atmos with passthrough play correctly. AC3 and eAC3 play correctly with passthrough disable (at least mpv stats are reporting 7.1 channels but I have no idea what the AV is really receving).

 

I need to find some dtsx sample to test if its working with passthrough, like atmos.

Link to comment
Share on other sites

Guest asrequested

Oh wait! So you're going by the stats and not what you can hear? Because mpv incorrectly reports ac3 pass through. It always says stereo, when it isn't.

Link to comment
Share on other sites

stettler

Oh wait! So you're going by the stats and not what you can hear? Because mpv incorrectly reports ac3 pass through. It always says stereo, when it isn't.

 

Ah, ok! lol

 

Well, I tried some dts samples and the stats give weird results too:

DTS-HD MA 5.1: ok

DTS-HD MA 7.1: ok

PCM 2.0: ok

DTS:X: ok

DTS-HD HR 7.1: ok

DTS 5.1: wrong

 

So ac3 and eac3 should be ok even if the stats and logs report stereo? Same for DTS 5.1?

Link to comment
Share on other sites

Guest asrequested

It seems that core audio gets misreported. But if you listen, you'll hear audio as it should be. Especially through the center channel.

Link to comment
Share on other sites

stettler

DTS HRA worked just fine (but I am using the latest mpv built, not the one that comes with ET).

It's DTS 5.1 that is reported as stereo.

 

I am not sure that "listening" is that reliable as the AV may do its own upscalling. (sadly, there is very little control over what the AV does and even less about what information it provides. It only seems to advertise Dolby Atmos and DTS-X. Probably to let people know they didn't spent their money for nothing)

Link to comment
Share on other sites

Guest asrequested

Mpv is all ffmpeg. Windows won't have any involvement, expect for your speaker config. That should be correctly set to your speaker config. When not bitstreaming, the audio output will adhere to that.

Link to comment
Share on other sites

stettler

The Dolby app is lower level than ffmpeg so it will be involved. It's a sound device driver which add an extra speaker configuration setting. Instead of have stereo, 5.1 and 7.1 speakers, you get an extra "Dolby Atmos" speaker.

 

The Dolby Atmos for Headphones setting is clear enough: it add a special processing to emulate Atmos with only 2, 5 or 7 speakers. But I don't understand the Atmos for theater setting as it's supposed to work with an Atmos enabled AV. They say:

"Set up Dolby Atmos for home theater, which can be used for free with any Dolby Atmos compatible home theater system, TV, or sound bar."

 

But what's the point if the AV is already Atmos compatible?

Link to comment
Share on other sites

stettler

That's what I don't understand... maybe it has to do with copy protection or license activation. (and yes, its a weird way to release that as an app that basically activate a low level driver)

Link to comment
Share on other sites

Guest asrequested

No, it's a substitution. If you didn't have an Atmos enabled receiver, but wanted Atmos audio. Windows can decode to raw audio the process it to Atmos. But you'd need to make sure that windows knows what speakers are where. As its spacial, as opposed to direct sound. Windows will need to be aligned with the downward or upward firing speakers. The same setup that you go through in configuring the receiver for Atmos. Except it won't be as accurate as actually using the metadata to specify what sounds go to to which speakers. So sending the metadata to the receiver is independent of the Atmos software in windows.

Edited by Doofus
Link to comment
Share on other sites

stettler

No, it's a substitution. If you didn't have an Atmos enabled receiver, but wanted Atmos audio.

 

That's for the "Dolby headphone" stuff.

 

The "Dolby Theater" explicitly works only with an Atmos enabled receiver. As I said, I understand the Dolby Headphone. It's the other one I don't understand.

Link to comment
Share on other sites

Guest asrequested

I wonder if it only applies if you use the windows player? Only works with the windows decoders? I've never really experimented with it.

Link to comment
Share on other sites

stettler

Did you configure the number of speakers as well as configure your sound setup in windows?

 

Yes, I did. And as I said, it's working correctly for Dolby 7.1 (with or without Atmos) and DTS-X. It's only with the 5.1 that I have the problem. But if Doofus says it's just a bug with what is reported in the stats...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...