From: Anssi Hannula <anssi.hannula@iki.fi>
To: Olivier Langlois <olivier@trillion01.com>, Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org, "Peter Frühberger" <fritsch@xbmc.org>
Subject: Re: speaker-test chmap bugs (was: [PATCH v3 0/5] ALSA: hda - hdmi: ATI/AMD multi-channel and HBR support)
Date: Sun, 10 Nov 2013 09:25:07 +0200 [thread overview]
Message-ID: <527F34D3.40209@iki.fi> (raw)
In-Reply-To: <527F2126.50006@iki.fi>
10.11.2013 08:01, Anssi Hannula kirjoitti:
> 10.11.2013 07:42, Olivier Langlois kirjoitti:
>> On Sat, 2013-11-09 at 00:03 +0200, Anssi Hannula wrote:
>>> 08.11.2013 23:28, Olivier Langlois kirjoitti:
>>>> lano1106@whippet2 ~ $ speaker-test -D hdmi:CARD=HDMI,DEV=0 -c8 -r192000
>>>> -F S32_LE
>>>>
>>>> speaker-test 1.0.27.2
>>>>
>>>> Playback device is hdmi:CARD=HDMI,DEV=0
>>>> Stream parameters are 192000Hz, S32_LE, 8 channels
>>>> Using 16 octaves of pink noise
>>>> Rate set to 192000Hz (requested 192000Hz)
>>>> Buffer size range from 8 to 131072
>>>> Period size range from 4 to 65536
>>>> Using max buffer size 131072
>>>> Periods = 4
>>>> was set period_size = 32768
>>>> was set buffer_size = 131072
>>>> 0 - Front Left
>>>> 4 - Center
>>>> 1 - Front Right
>>>> 7 - Side Right
>>>> 7 - Side Right
>>>> 6 - Side Left
>>>> 6 - Side Left
>>>> 5 - LFE
[...]
OK, speaker-test bug (affecting all generic HDMI codecs).
This is triggered by the fact that the standard CEA/HDMI 8 channel
mapping contains RL/RR and RLC/RRC instead of SL/SR and RL/RR. I.e. what
one usually considers side speakers is RL/RR and then the rear speakers
are RLC/RRC (rear-left-center, rear-right-center).
Speaker-test tries to play back channels in the following order:
0, /* Front Left */
4, /* Center */
1, /* Front Right */
7, /* Side Right */
3, /* Rear Right */
2, /* Rear Left */
6, /* Side Left */
5, /* LFE */
When it is time to play back Side Left/Right, speaker-test tries to look
for SL/SR in the chmap, but doesn't find it, so it just plays back
channels 6/7 which are actually "SL/SR" but with a different name (RL/RR).
When it becomes time to playback Rear Left/Right, speaker-test again
tries to find RL/RR in the chmap, and this time it does. However, of
course the chmap RL/RR corresponds to the HDMI/CEA RL/RR which is
traditionally SL/SR. So SL/SR is outputted again.
AFAICS the most straight-forward way to fix this is to check that the
chmap actually comprises of the assumed regular channels before trying
to apply the predefined playback order, and then fallback to playing
channels in-order 0-7 (maybe also provide a predefined ordering for the
CEA/HDMI 8ch chmap, though).
I can do that later, right now I'm too tired.
BTW, currently speaker-test always uses its own hardcoded channel
number=>name mappings for showing the channel name, unless a channel map
was manually specified. This is clearly wrong since there may be a
device-specific non-standard channelmap.
I can fix that as well, but of course that would mess up the output for
HDMI when this is not applied:
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pci/hda?id=56cac413dd6d43af8355f5d1f90a199b540f73fc
So what to do, can we show wrong channel names on broken kernels or
should we wait a bit?
I guess that one really should be pushed to -stable in any case...
(There is also the question if we want to change the HDMI channel
mapping to appear as traditional side+rear instead of the CEA
rear+rearcenter. I don't have a strong preference on this so I'm fine
with status quo.)
--
Anssi Hannula
next prev parent reply other threads:[~2013-11-10 7:25 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-24 18:10 [PATCH v3 0/5] ALSA: hda - hdmi: ATI/AMD multi-channel and HBR support Anssi Hannula
2013-10-24 18:10 ` [PATCH 1/5] ALSA: hda - hdmi: Allow HDA patches to customize more operations Anssi Hannula
2013-10-24 18:10 ` [PATCH 2/5] ALSA: hda - hdmi: Add ATI/AMD multi-channel audio support Anssi Hannula
2013-10-24 18:10 ` [PATCH 3/5] ALSA: hda - hdmi: Add ELD emulation for ATI/AMD codecs Anssi Hannula
2013-10-24 18:10 ` [PATCH 4/5] ALSA: hda - hdmi: Add HBR bitstreaming support for ATI/AMD HDMI codecs Anssi Hannula
2013-10-24 18:10 ` [PATCH 5/5] ALSA: hda - hdmi: Disable ramp-up/down for non-PCM on AMD codecs Anssi Hannula
2013-10-24 19:00 ` Anssi Hannula
2013-10-24 18:26 ` [PATCH v3 0/5] ALSA: hda - hdmi: ATI/AMD multi-channel and HBR support Anssi Hannula
2013-11-08 5:08 ` Olivier Langlois
2013-11-08 10:27 ` Anssi Hannula
2013-11-08 18:17 ` Olivier Langlois
2013-11-08 21:28 ` Olivier Langlois
2013-11-08 22:03 ` Anssi Hannula
2013-11-10 5:42 ` Olivier Langlois
2013-11-10 6:01 ` Anssi Hannula
2013-11-10 7:25 ` Anssi Hannula [this message]
2013-11-10 18:29 ` [PATCH 1/3] speaker-test: Fix chmapped channel selection without specified chmap Anssi Hannula
2013-11-10 18:29 ` [PATCH 2/3] speaker-test: Always show chmap channel names if available Anssi Hannula
2013-11-10 18:29 ` [PATCH 3/3] speaker-test: Show out-of-chmap channels as Unknown Anssi Hannula
2013-11-11 15:56 ` [PATCH 1/3] speaker-test: Fix chmapped channel selection without specified chmap Takashi Iwai
2013-11-11 20:23 ` Anssi Hannula
2013-11-11 22:04 ` [PATCH 1/3 v2] " Anssi Hannula
2013-11-12 8:11 ` Takashi Iwai
2013-11-12 12:34 ` Anssi Hannula
2013-11-12 13:08 ` Takashi Iwai
2013-11-12 6:35 ` [PATCH v3 0/5] ALSA: hda - hdmi: ATI/AMD multi-channel and HBR support Olivier Langlois
2013-11-14 0:04 ` Anssi Hannula
2013-11-09 8:35 ` Takashi Iwai
2013-10-24 23:04 ` Takashi Iwai
2013-10-25 16:54 ` Andre Heider
2013-10-25 17:13 ` Takashi Iwai
2013-10-25 17:23 ` Anssi Hannula
2013-10-25 18:25 ` Andre Heider
2013-10-28 17:52 ` Andre Heider
2013-10-28 18:12 ` Anssi Hannula
2013-10-28 18:17 ` Andre Heider
2013-10-28 18:25 ` Anssi Hannula
2013-10-28 18:35 ` Andre Heider
2013-10-28 20:35 ` Anssi Hannula
2013-10-28 22:00 ` Andre Heider
2013-10-28 22:42 ` Anssi Hannula
2013-10-28 23:15 ` Andre Heider
2013-10-29 19:52 ` LANGLOIS Olivier PIS -EXT
2013-10-29 20:30 ` Anssi Hannula
2013-10-28 23:19 ` [PATCH] drm/radeon/audio: fix missing multichannel PCM SAD in some cases Anssi Hannula
2013-10-31 23:38 ` Rafał Miłecki
2013-10-31 23:46 ` Rafał Miłecki
2013-10-31 23:52 ` Anssi Hannula
2013-11-02 1:01 ` Rafał Miłecki
2013-11-02 1:08 ` Anssi Hannula
2013-11-02 1:15 ` Rafał Miłecki
2013-11-02 1:03 ` Rafał Miłecki
2013-11-02 15:32 ` [PATCH v3 0/5] ALSA: hda - hdmi: ATI/AMD multi-channel and HBR support Anssi Hannula
2013-11-23 1:05 ` James Le Cuirot
2013-11-23 1:29 ` Anssi Hannula
2013-11-23 15:40 ` James Le Cuirot
2013-11-23 15:45 ` Anssi Hannula
2013-11-24 14:57 ` James Le Cuirot
2013-11-25 13:20 ` Anssi Hannula
2013-11-25 14:32 ` James Le Cuirot
2013-11-25 14:56 ` Anssi Hannula
2014-05-13 12:01 ` James Le Cuirot
2014-05-13 12:27 ` Anssi Hannula
2014-05-13 16:16 ` James Le Cuirot
2014-05-13 21:10 ` James Le Cuirot
2014-05-13 21:50 ` Anssi Hannula
2014-05-14 13:04 ` Deucher, Alexander
2014-05-14 13:19 ` James Le Cuirot
2013-11-25 15:07 ` Raymond Yau
2013-11-25 15:32 ` James Le Cuirot
2013-11-25 19:35 ` Anssi Hannula
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=527F34D3.40209@iki.fi \
--to=anssi.hannula@iki.fi \
--cc=alsa-devel@alsa-project.org \
--cc=fritsch@xbmc.org \
--cc=olivier@trillion01.com \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).