-
-
Notifications
You must be signed in to change notification settings - Fork 6.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AESinkALSA: Open 5.1 Layouts according to CEA-861-D #3721
AESinkALSA: Open 5.1 Layouts according to CEA-861-D #3721
Conversation
Tested on top of OE adb0cf1 and now 5.1 source is output as 5.1. |
v2: Don't influence bitstream passthrough. v1 also influence channel numbers of DTS-HD / TrueHD / EAC3 @laurimyllari: Thanks for testing, please redo if you find time. |
Now if engine requests FL/FR/FC/LFE/SL/SR you return FL/FR/FC/BL/BR/LFE, right? This will work but also force the engine through the process of rematrixing/mixing. You could save those extra cycles by returning the channels requested: FL/FR/FC/SL/SR/LFE |
According to the Spec I could return something like: FL/FR/FC/RL/RR/LFE to get the ball back to the Engine. Basically this PR makes clear, that according to the spec SL/SR and BR/BL are equivalent if only one pair of them is requested. Edit: if only SL/SR are requested but BR/BL is missing and returns the minimal layout. |
If you return BL/BR if SL/SR is requested, this causes a lot of extra cycles. Just return the pair which is requested on that position. |
Wait, to make that fully correct: If someone requests:
If you see in the code, we land at position 8: AE_CH_SR which would mean to open a 7.1 layout, the patch reduces the 8 to 6 and therefore opens a layout with 5.1. This is how Alsa defines the channel layouts. If I return you something "non alsa like" I have to remap them later in the sink, which also causes a lot of extra cycles at a position where we don't want them. |
Works nicely as far as I can tell. I had problems with DTS-HD/MA, but that seems to be a Haswell issue (audio device got stuck) that I've seen on previous versions too. Tried 5.1 PCM, ac3/dts passthrough, TrueHD and 5.1 FLAC. |
v3: Return SL/SR at the position of BL/BR which saves us the cycles and is also valid. @FernetMenta: Thx much for helping with that one: http://imalbum.aufeminin.com/album/D20070912/338700_OP2IONTWQ13SZKS3733VBU38BQZ6LS_brett-vorm-kopf_H144817_L.jpg Second patch is an alternative implementation which gets rid of the +5 which could harm, when the map changes. Open for discussion. |
jenkins build this please |
jenkins build this please |
He successfully triggered a build - see http://jenkins.xbmc.org/view/helpers/job/XBMC-BuildMulti-PR/642/ But while building or after that he force pushed to his repo which removes the indicators from the PR. |
jenkins build this please sorry for force push and the 0xFFF changes you had to see today. |
AESinkALSA: Open 5.1 Layouts according to CEA-861-D
This will handle 5.1 Side and 5.1 Wide the same way. Which is okay according to the above spec.