5.1PCM being converted to 7.1PCM - how to stop this?

There are a huge number of devices that can handle just about any multichannel audio format you can throw at them. As an example, I have a Netgear NeoTV 550, and if you want to stream audio to an AVR with no worry about channel mapping, get a used one. It’s easily the equal of the Vero (and in some ways superior) as far as audio is concerned.

There are also a huge number of devices that can handle 4K video, and I suspect that all will handle all those audio formats. The point of the Vero 4K is it does both with the underpinnings being a rock-solid, fully open source OS with a selection of software that no other media OS can touch.

Then play back the original source, which likely had a format that didn’t need to be streamed as PCM. Really, the Vero is for playing rips, and if you rip the content, you have to know the limitations of your device, and act accordingly.

Another alternative:

5.1 source is L+R+C+LFE+LS+RS. This is what Vero 4K does to it, when outputting 8 channels:

L -> L
R -> R
C -> C
LFE -> LFE
LS -> LSS
RS -> RSS
(silence) -> LSR
(silence) -> RSR

What if, instead, OSMC did the following:

L -> L
R -> R
C -> C
LFE -> LFE
(silence) -> LSS
(silence) -> RSS
LS -> LSR
RS -> RSR

Now, 5.1 source on a 7.1 speaker system will have the surrounds at the back, where you feel they should be.

Again, this assumes that output as 5.1 can’t be done because of the chipset. We’d all rather have that, but if not, we need to agree on a fix that is easy and acceptable to the majority.

Hi folks, what about to make it configurable in the Settings->System->Audio menu of the Vero4k?

Remember, we are only talking about 6 channel audio being converted to 8 channel PCM, I’m using the nomenclature to be found here:

Surround Speaker Setting:

original - 6-ch-rears are mapped to 8-ch-rears, 8-ch-alternative-rears get zero signal

swapped - 6-ch-rears are mapped to 8-ch-alternative-rears, 8-ch-rears get zero signal

doubled - 6-ch-rears are mapped to 8-ch-rears AND 8-ch-alternative-rears

To make it user configurable one get the highest freedom of choice.

Best option would still be - for me at least - to get everything done by the AVR…

Sam has already said what he prefers… So, let’s wait what might happen. Still, there’s no fix promised. :wink:

Yeah, what Sam wants is the right thing, but it all depends on the SoC vendor. What I am talking about now is what to do if 6-channel only output isn’t possible from the SoC.

Having some sort of configuration in MyOSMC (or the “System” settings page) where the user indicates the actual speaker hardware they have and let Sam & company use that to automatically re-map channels, or have a config where the user indicates some sort of explicit re-mapping (like what @JimKnopf said very well) would seem to be the best workaround.

The question is…does anybody see any issues with that sort of config (assuming, of course, it works as it is supposed to) where it would be impossible to automatically do the right thing in all cases, even with such a config.

The I2S doesn’t support 5.1 directly.

But with HDMI TX, when we send the infoframes, we can configure AUD_DB packet for 5.1.

So we might be able to tell the amp we’re only sending 5.1 channels; but it could cause some smart amps to get confused or think there are still 7.1 channels.

There’s also the possibility to mask channels.

It’s pretty clear when Kodi tries to open 5.1 channels, fails, and falls back to 7.1.

We could possibly use this to inform the kernel via a sysfs parameter that we only want 5.1 and fix it up there. Then the only requirement would in theory be that the user selects 5.1 output in Kodi.

Didn’t you say once that AMLogic wanted to look into maybe adding other sink configurations than 2 and 8? Or did they come to the conclusion that they can’t do anything about it?

This would mean, sending 7.1 PCM channels, but telling the amp (via HDMI infoframes) to only use 5.1 of them, if it’s a 5.1 PCM audio file that’s being played back? So, tricking the amp into ignoring the blank channels?
Sounds exactly like what’s needed, if the basic behaviour can’t be altered (but I see what the difficulties might be: more problems down the road).

How would masking work?

But this sounds very much like a manual setting by the user would be required when playing back 5.1 PCM audio and it wouldn’t work automatically… Or am I misunderstanding?

Yes – but in true AML fashion, for new chips only.
We don’t need processing / DSP for this; so there is no benefit anyway.

Not really. We expect people to configure their audio settings already for things to work correctly, for example passthrough capabilities etc.

:man_facepalming:t2::see_no_evil::rofl:

Ok, I understand… So, if the audio layout is set to 5.1 channels in the settings, you’d prevent Kodi from falling back to 7.1 channels?
What about when it’s set to 7.1 and the possibility of “masking channels” (which you said), how would it work to prevent blank channels from being sent? Or is masking the same as the infoframe approach?
Just didn’t get what masking would be or how it would work. :see_no_evil: Sry, being very curious here…

Kodi will attempt to open the sink for the number of channels it needs.

Kodi tries to open the sink with 6 channels, and fails. It falls back to 7.1 but we signal to the kernel via sysfs to mask.

The fix (if it can be made to work) is therefore in HDMI TX itself.

Now I get it, I think… As soon as 5.1 channel sinks can’t be opened by Kodi, Kodi opens 7.1 instead, the kernel is signalled that 5.1 channels would only be needed, let’s Kodi open 7.1 sinks, but sends infoframes to the AVR to let the AVR know that it should just use 5.1 channels although 7.1 are being sent.

Correct?

That’s right.

That sounds like a great solution.

The testing will be a PITA, though, since there are some AVRs that are either too smart or too dumb for their own good.

If we can do this, it can be made as a GUI setting for a couple of months until it’s tested fully.

Sounds like a very smart workaround :+1:t2: Hoping very much that you can make it work!

So, in theory, if this was to work properly (if, if), shouldn’t this allow for basically any channel layout to be sent (from 2.0, 3.0, 4.0… to 7.1)?

Definitely! If you know about it… The Denon Atmos issue is the best example for a set of dumb AVRs :joy:

One step at a time.

5.1 is the biggest situation to fix for now.

I know, I know… Don’t want to rush or hurry anyone. :wink: Just asking, whether this could allow for more, if possible at all. It sounds like a scalable solution (yes, IF it works). Right?

Closing this now. See [TESTING] Improved LPCM output for Vero 4K

Testing has been moved again… See here: [TESTING] Improved multi-channel PCM for Vero 4K

Testing by as many as possible would be greatly appreciated! :slightly_smiling_face:

Now that the February update has been released, the PCM improvements have been made public as well. Please check it out and report back, if you happen to find anything obscure… :+1:t2:

Otherwise enjoy the improvements!