Hey,
I am using the latest OpenELEC generic build by ericab (r11809 - Frodo-r16812)
On some DTS-HD tracks I am getting a lot of "crackling" when there is a loud sound effect/explosion. This only happens on my htpcs connected to TV and XBMC is set to output using HDIMI with 2.0 speaker configuration (everything else is turned off). I've tried this on 3 different tvs.
Playing the same movie/section while bit-streaming to the receiver everything plays fine, no crackling. Also playing it on my desktop with headphones using MPC also has no issues.
Here is a sample video for which I get crackling: http://www36.zippyshare.com/d/27144396/7...sample.mkv
Debug Log: http://xbmclogs.com/show.php?id=6895
Using GT430.
Take Care
Linux AudioEngine testers - Linux only
fatal.
Junior Member Joined: Mar 2011 Reputation: 0 Location: Atlanta, GA |
2012-08-19 16:04
Post: #441
(This post was last modified: 2012-08-19 16:12 by fatal..)
|
| find quote |
SiS31
Junior Member Posts: 1 Joined: Aug 2012 Reputation: 0 |
2012-08-21 23:39
Post: #442
Bug in audio player
Hello, i use Xtreamer Ultra 2 and i found bug in OpenELEC_frodo-Ultra.x86_64-devel-20120820113649-r11814...idia-v304.37.tar.bz2 audio player. When I play DTS audio file in wav format the time go fastly, but the song sounds good. Then the audio file ends before. MP3 works without problem. Movies play correctly. Try pls this wav file. share-rapid.com/stahuj/d5880qm1 . Another problem is that album art in DTS wav files is not display correctly. In OpenELEC 2.0 Beta 6(1.95.6) is everything OK. DTS wav files plaing correctly and too the album art in files are displayed correctly. Thanks for answer. |
| find quote |
wxc200
Junior Member Posts: 8 Joined: Apr 2012 Reputation: 1 |
2012-08-22 06:28
Post: #443
(2012-08-16 15:16)direx Wrote:(2012-08-09 18:41)wxc200 Wrote: Thanks a lot. Currently we can manage the hbr bits setting correctly at alsa hda side,but gfx side did not reflect hbr correctly. That's maybe caused by some wrong setting sequence,anyway I hope you can provide the output of intel-audio-dump to check pin status. Sorry I have no hdmi receiver handy to receive hbr formats audio.I also ran intel-audio-dump (from git), this is the result: Thanks your test. I have one Yamaha RX V571 which supports HBR stream testing now, so i can test my patch easily. About the patches, i used name "xingchao.wang@intel.com". Currently one clue is about HBR bits setting, another one is about N/CTS programming. Intel driver left the default values for TMDS clock and the HDMI spec has requirement to program N/CTS according to ASP type. There's one recommended talbe for various rates and TMDS clock(according to HDMI SPEC 1.3a, table 7.1). I'm doing more test based on that. I know little about the knowledge on this and how does that work on the enabled-HBR platform such as Nvidia's card. if anyone can share with me some infomation, i will appreciate that much. thanks --xingchao |
| find quote |
jz1276
Fan Posts: 333 Joined: Jul 2007 Reputation: 0 |
2012-08-26 09:49
Post: #444
(2012-08-21 23:39)SiS31 Wrote: Bug in audio player I have a similar problem. Any DTS-WAV file with cue sheets are not playing properly. Some dont start where they should and always cut out early. |
| find quote |
wxc200
Junior Member Posts: 8 Joined: Apr 2012 Reputation: 1 |
2012-08-28 07:51
Post: #445
The HBR stream could work on Intel's chip now, i will update the patch later.
|
| find quote |
wxc200
Junior Member Posts: 8 Joined: Apr 2012 Reputation: 1 |
2012-08-28 15:31
Post: #446
(2012-08-28 07:51)wxc200 Wrote: The HBR stream could work on Intel's chip now, i will update the patch later. I didnot find there's attachment option, so i just paste the patch here. please apply the patch against Takashi's latest sound tree. i tested this patch on my Yamaha A/V Receiver, both DTS-HD MA and Dolby TrueHD HBR streams could play well. Please note this patch is only for test purpose now, it's not the final upstream version. There's another dependent hack from Anssi, please apply the second patch against Takashi's alsa-lib tree. If there's any problem during your test, please feel free to let me know: xingchao.wang@intel.com [PATCH] ALSA: HDMI - Enable HBR feature on Intel chips HDMI channel remapping apparently effects HBR packets on Intel's chips. For compressed non-PCM audio, use "straight-through" channel mapping. For uncompressed multi-channel pcm audio, use normal mapping. Signed-off-by: Wang Xingchao <xingchao.wang@intel.com> Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi> --- sound/pci/hda/patch_hdmi.c | 50 +++++++++++++++++++++++++++----------------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c index d9439c5..fda89e3 100644 --- a/sound/pci/hda/patch_hdmi.c +++ b/sound/pci/hda/patch_hdmi.c @@ -231,6 +231,11 @@ static struct cea_channel_speaker_allocation channel_allocations[] = { { .ca_index = 0x01, .speakers = { 0, 0, 0, 0, 0, LFE, FR, FL } }, /* Dolby Surround */ { .ca_index = 0x02, .speakers = { 0, 0, 0, 0, FC, 0, FR, FL } }, +{ .ca_index = 0x03, .speakers = { 0, 0, 0, 0, FC, LFE, FR, FL } }, +{ .ca_index = 0x04, .speakers = { 0, 0, 0, RC, 0, 0, FR, FL } }, +{ .ca_index = 0x05, .speakers = { 0, 0, 0, RC, 0, LFE, FR, FL } }, +{ .ca_index = 0x06, .speakers = { 0, 0, 0, RC, FC, 0, FR, FL } }, +{ .ca_index = 0x07, .speakers = { 0, 0, 0, RC, FC, LFE, FR, FL } }, /* surround40 */ { .ca_index = 0x08, .speakers = { 0, 0, RR, RL, 0, 0, FR, FL } }, /* surround41 */ @@ -239,22 +244,15 @@ static struct cea_channel_speaker_allocation channel_allocations[] = { { .ca_index = 0x0a, .speakers = { 0, 0, RR, RL, FC, 0, FR, FL } }, /* surround51 */ { .ca_index = 0x0b, .speakers = { 0, 0, RR, RL, FC, LFE, FR, FL } }, - /* 6.1 */ -{ .ca_index = 0x0f, .speakers = { 0, RC, RR, RL, FC, LFE, FR, FL } }, - /* surround71 */ -{ .ca_index = 0x13, .speakers = { RRC, RLC, RR, RL, FC, LFE, FR, FL } }, - -{ .ca_index = 0x03, .speakers = { 0, 0, 0, 0, FC, LFE, FR, FL } }, -{ .ca_index = 0x04, .speakers = { 0, 0, 0, RC, 0, 0, FR, FL } }, -{ .ca_index = 0x05, .speakers = { 0, 0, 0, RC, 0, LFE, FR, FL } }, -{ .ca_index = 0x06, .speakers = { 0, 0, 0, RC, FC, 0, FR, FL } }, -{ .ca_index = 0x07, .speakers = { 0, 0, 0, RC, FC, LFE, FR, FL } }, { .ca_index = 0x0c, .speakers = { 0, RC, RR, RL, 0, 0, FR, FL } }, { .ca_index = 0x0d, .speakers = { 0, RC, RR, RL, 0, LFE, FR, FL } }, { .ca_index = 0x0e, .speakers = { 0, RC, RR, RL, FC, 0, FR, FL } }, +{ .ca_index = 0x0f, .speakers = { 0, RC, RR, RL, FC, LFE, FR, FL } }, { .ca_index = 0x10, .speakers = { RRC, RLC, RR, RL, 0, 0, FR, FL } }, { .ca_index = 0x11, .speakers = { RRC, RLC, RR, RL, 0, LFE, FR, FL } }, { .ca_index = 0x12, .speakers = { RRC, RLC, RR, RL, FC, 0, FR, FL } }, + /* surround71 */ +{ .ca_index = 0x13, .speakers = { RRC, RLC, RR, RL, FC, LFE, FR, +FL } }, { .ca_index = 0x14, .speakers = { FRC, FLC, 0, 0, 0, 0, FR, FL } }, { .ca_index = 0x15, .speakers = { FRC, FLC, 0, 0, 0, LFE, FR, FL } }, { .ca_index = 0x16, .speakers = { FRC, FLC, 0, 0, FC, 0, FR, FL } }, @@ -537,22 +535,36 @@ static void hdmi_debug_channel_mapping(struct hda_codec *codec, static void hdmi_setup_channel_mapping(struct hda_codec *codec, hda_nid_t pin_nid, + hda_nid_t cvt_nid, int ca) { int i; int err; - - if (hdmi_channel_mapping[ca][1] == 0) { - for (i = 0; i < channel_allocations[ca].channels; i++) - hdmi_channel_mapping[ca][i] = i | (i << 4); + unsigned short val; + int tmp_mapping[8]; + bool non_pcm = false; + + val = snd_hda_codec_read(codec, cvt_nid, 0, AC_VERB_GET_DIGI_CONVERT_1, 0); + non_pcm = !!(val & AC_DIG1_NONAUDIO); + + if (hdmi_channel_mapping[ca][1] == 0 || non_pcm) { + for (i = 0; i < channel_allocations[ca].channels; i++) { + if (non_pcm) + tmp_mapping[i] = i | (i << 4); + else + hdmi_channel_mapping[ca][i] = i | (i << 4); + } for (; i < 8; i++) - hdmi_channel_mapping[ca][i] = 0xf | (i << 4); + if (non_pcm) + tmp_mapping[i] = 0xf | (i << 4); + else + hdmi_channel_mapping[ca][i] = 0xf | (i << 4); } for (i = 0; i < 8; i++) { err = snd_hda_codec_write(codec, pin_nid, 0, AC_VERB_SET_HDMI_CHAN_SLOT, - hdmi_channel_mapping[ca][i]); + non_pcm ? tmp_mapping[i] : hdmi_channel_mapping[ca][i]); if (err) { snd_printdd(KERN_NOTICE "HDMI: channel mapping failed\n"); @@ -686,7 +698,7 @@ static bool hdmi_infoframe_uptodate(struct hda_codec *codec, hda_nid_t pin_nid, } static void hdmi_setup_audio_infoframe(struct hda_codec *codec, int pin_idx, - struct snd_pcm_substream *substream) + hda_nid_t cvt_nid, struct snd_pcm_substream *substream) { struct hdmi_spec *spec = codec->spec; struct hdmi_spec_per_pin *per_pin = &spec->pins[pin_idx]; @@ -731,13 +743,13 @@ static void hdmi_setup_audio_infoframe(struct hda_codec *codec, int pin_idx, * sizeof(*dp_ai) to avoid partial match/update problems when * the user switches between HDMI/DP monitors. */ + hdmi_setup_channel_mapping(codec, pin_nid, cvt_nid, ca); if (!hdmi_infoframe_uptodate(codec, pin_nid, ai.bytes, sizeof(ai))) { snd_printdd("hdmi_setup_audio_infoframe: " "pin=%d channels=%d\n", pin_nid, channels); - hdmi_setup_channel_mapping(codec, pin_nid, ca); hdmi_stop_infoframe_trans(codec, pin_nid); hdmi_fill_audio_infoframe(codec, pin_nid, ai.bytes, sizeof(ai)); @@ -1151,7 +1163,7 @@ static int generic_hdmi_playback_pcm_prepare(struct hda_pcm_stream *hinfo, hdmi_set_channel_count(codec, cvt_nid, substream->runtime->channels); - hdmi_setup_audio_infoframe(codec, pin_idx, substream); + hdmi_setup_audio_infoframe(codec, pin_idx, cvt_nid, substream); pinctl = snd_hda_codec_read(codec, pin_nid, 0, AC_VERB_GET_PIN_WIDGET_CONTROL, 0); -- 1.7.9.5 alsa-lib patch: From 47b54a7e3b6ba58782348c87c6a83b318d5f8c65 Mon Sep 17 00:00:00 2001 From: Wang Xingchao <xingchao.wang@intel.com> Date: Tue, 28 Aug 2012 17:11:04 +0800 Subject: [PATCH] HDA-Intel: change CTLINDEX entries for HBR Fix wrong CTLINDEX for HBR stream. Signed-off-by: Wang Xingchao <xingchao.wang@intel.com> --- src/conf/cards/HDA-Intel.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/conf/cards/HDA-Intel.conf b/src/conf/cards/HDA-Intel.conf index d4f2667..7d6de8f 100644 --- a/src/conf/cards/HDA-Intel.conf +++ b/src/conf/cards/HDA-Intel.conf @@ -211,7 +211,7 @@ HDA-Intel.pcm.hdmi.0 { "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=3," - "CTLINDEX=0," + "CTLINDEX=1," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 "," @@ -234,7 +234,7 @@ HDA-Intel.pcm.hdmi.1 { "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=7," - "CTLINDEX=1," + "CTLINDEX=2," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 "," @@ -257,7 +257,7 @@ HDA-Intel.pcm.hdmi.2 { "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=8," - "CTLINDEX=2," + "CTLINDEX=3," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 "," @@ -280,7 +280,7 @@ HDA-Intel.pcm.hdmi.3 { "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=9," - "CTLINDEX=3," + "CTLINDEX=4," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 "," -- 1.7.9.5
(This post was last modified: 2012-08-28 15:47 by wxc200.)
|
| find quote |
direx
Junior Member Posts: 31 Joined: Apr 2008 Reputation: 2 Location: Germany |
2012-08-28 22:39
Post: #447
Thank you so much for looking into this xingchao! I hope I can test your patches by the end of this week.
- direx Main: CPU: Intel Q9650, GFX: ATI Radeon HD 7850-silent, Gentoo Linux, XBMC-git, H.264 decoding with vaapi HTPC: CPU: Intel Core i5-3475S, GFX: Intel HD4000, Gentoo Linux (Kernel 3-stable), XBMC-git, H.264 decoding with VAAPI, HD audio, AVR: Pioneer VSX-LX51, TV: Panasonic TX-L37V10E Fun: Microsoft XBox, with XBMC :) |
| find quote |
tsobanoskilo
Junior Member Joined: Feb 2012 Reputation: 0 |
2012-08-29 20:27
Post: #448
hi
running about a week now alpha5-commit bc0813f and i think it is the most stable until now it is running in debian-wheezy but i cant make 2 days now a new version running i get xbmc built succesfully but when i try to run it with make install or ./xbmc.bin it give error unable to create application.Exiting i use --prefix=$HOME/xbmc --enable-external-libraries --disable-external-ffmpeg and some other options for my hw (no joystick,no vaapi,no pulse etc) i try to configure it with default options but no go how can i run it in verbose to get some more debug
(This post was last modified: 2012-08-29 20:29 by tsobanoskilo.)
|
| find quote |
DDDamian
Team-XBMC Developer Joined: Sep 2011 Reputation: 252 Location: Canada |
2012-08-29 20:35
Post: #449
@fatal - sounds like when it's downmixing to PCM it's being clamped or limited which can cause that distortion. It may be we're not using the best downmixing ratios but also check that Settings>System>Audio Output>Boost level on downmix is turned off and see if that helps. If it was already off pls let me know.
System: XBMC HTPC with HDMI WASAPI & AudioEngine - Denon AVR-3808CI - Denon DVD-5900 Universal Player - Denon DCM-27 CD-Changer - Sony BDP-S580 Blu-Ray - X-Box 360 - Android tablet wireless remote - 7.1 Streem/Axiom/Velodyne Surround System If I have been able to help feel free to add to my reputation +/- below - thanks! |
| find quote |
tsobanoskilo
Junior Member Joined: Feb 2012 Reputation: 0 |
2012-08-29 22:51
Post: #450
(2012-08-29 20:27)tsobanoskilo Wrote: hi ok i found it have to disable external ffmpeg ./configure --disable-external-ffmeg |
| find quote |

Search
Help