Announcement

Collapse
No announcement yet.

TrueHD, DTS-HD, E-AC3 Over HDMI On Linux

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by Anssi View Post
    Multichannel DTS and AC-3 streams fit into the same space as 2 channel PCM audio and therefore they do work.

    It is only TrueHD and DTS-HD that require more bandwidth than 2 channels provide.
    Ah ok. Thank you for the explanation.
    Is there any way i can help fix this ATI 2channel bug?

    Comment


    • #12
      Originally posted by lord-carlos View Post
      Ah ok. Thank you for the explanation.
      Is there any way i can help fix this ATI 2channel bug?
      You could provide the contents of all "codec#X" files from /proc/asound/ATI/ (or similar, could be "Ati" or "ati" instead of "ATI", don't remember which one), so that I can see if it is similar to the other ones I've seen.

      To actually test some possible fixes, I'd need a tester who knows how to compile, install, and patch the alsa kernel modules. If you do and want to test some stuff, you can contact me via email (again, anssi.hannula@iki.fi). I have some ideas, though I fear they are not very likely to work. We may ultimately need some documentation from ATI.

      Comment


      • #13
        codec#0 content for R6xx adapters
        Code:
        Codec: ATI R6xx HDMI
        Address: 0
        AFG Function Id: 0x1 (unsol 0)
        Vendor Id: 0x1002aa01
        Subsystem Id: 0x00aa0100
        Revision Id: 0x100200
        No Modem Function Group found
        Default PCM:
            rates [0x70]: 32000 44100 48000
            bits [0x2]: 16
            formats [0x1]: PCM
        Default Amp-In caps: N/A
        Default Amp-Out caps: N/A
        GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
        Node 0x02 [Audio Output] wcaps 0x201: Stereo Digital
          Control: name="IEC958 Playback Con Mask", index=0, device=0
          Control: name="IEC958 Playback Pro Mask", index=0, device=0
          Control: name="IEC958 Playback Default", index=0, device=0
          Control: name="IEC958 Playback Switch", index=0, device=0
          Device: name="HDMI 0", type="HDMI", device=3
          Converter: stream=1, channel=0
          Digital: Enabled
          Digital category: 0x0
        Node 0x03 [Pin Complex] wcaps 0x400381: Stereo Digital
          Pincap 0x00000094: OUT Detect HDMI
          Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
            Conn = Digital, Color = Unknown
            DefAssociation = 0x1, Sequence = 0x0
          Pin-ctls: 0x40: OUT
          Unsolicited: tag=00, enabled=0
          Connection: 1
             0x02

        Comment


        • #14
          Originally posted by Anssi View Post
          We may ultimately need some documentation from ATI.
          You can ask Alex Deucher (AMD employee).

          Comment


          • #15
            Alex has mentioned that we are going to need some more code/docco in the hdmi audio area.

            It's on the list of things to look at, no ETA yet but IIRC it's fairly close to the top of the list.

            Comment


            • #16
              Originally posted by Anssi View Post
              (I'm the poster of the patchset)

              We are in need of testers of TrueHD / DTS-HD passthrough (no ffmpeg patching needed).

              ...
              You can post the results here, in the nvnews thread, or send them to me at anssi.hannula@iki.fi.
              I have an Intel i3 with HDMI connected to an Onkyo SR607. I'll try this as soon as possible.

              And thanks a lot for all of you guys that spend time on this wonderful (much expected) feature.

              Cheers!

              Comment


              • #17
                Originally posted by Anssi View Post
                (I'm the poster of the patchset)

                We are in need of testers of TrueHD / DTS-HD passthrough (no ffmpeg patching needed).

                To the best of our knowledge, only two people (me and Carl Eugen) have tested this so far, and it isn't working for one of them (Carl Eugen). We don't know why; we need more testers to figure out what is going on.

                If you have
                • Intel or NVIDIA based graphics with HDMI output (e.g. GeForce G210, NVS 3100M, etc)
                • Not an old NVIDIA card that is connected to the motherboard audio card with an extra S/PDIF cable
                • Not GeForce 9400
                • You are using the open-source intel driver or the proprietary NVIDIA driver
                • Kernel 2.6.36 or newer
                • HDMI cable connected to a receiver that supports TrueHD and/or DTS-HD,
                it would be appreciated if you could try the following:

                You can find the two preprocessed test files in http://samples.mplayerhq.hu/hdmi/.

                For the duration of the test, add the following to ~/.asoundrc (You need to uncomment either "card NVidia" or "card Intel" line, depending on your hardware):
                Code:
                ## begin hdtest stuff
                pcm.hdmihdtest {
                        @args [ DEVICE CTLINDEX ]
                        @args.DEVICE { type integer }
                        @args.CTLINDEX { type integer }
                        type hooks
                        slave.pcm {
                                type hw
                # Uncomment the correct one of the below lines:
                #                card NVidia
                #                card Intel
                                device $DEVICE
                        }
                        hooks.0 {
                                type ctl_elems
                                hook_args [
                                {
                                        name "IEC958 Playback Default"
                                        index $CTLINDEX
                                        lock true
                                        preserve true
                                        value [ 0x06 0x82 0x00 0x01 ]
                                }
                                {
                                        name "IEC958 Playback Switch"
                                        index $CTLINDEX
                                        lock true
                                        preserve true
                                        value true
                                }
                                ]
                        }
                }
                pcm.hdmihdtest0 { @func refer name "pcm.hdmihdtest:DEVICE=3,CTLINDEX=0" }
                pcm.hdmihdtest1 { @func refer name "pcm.hdmihdtest:DEVICE=7,CTLINDEX=1" }
                pcm.hdmihdtest2 { @func refer name "pcm.hdmihdtest:DEVICE=8,CTLINDEX=2" }
                pcm.hdmihdtest3 { @func refer name "pcm.hdmihdtest:DEVICE=9,CTLINDEX=3" }
                ## end hdtest stuff
                Make sure the HDMI audio ports are all enabled with alsa mixer (the ports are commonly called "S/PDIF", possibly with a number), with one of the two following commands:
                Code:
                alsamixer -c NVidia
                alsamixer -c Intel
                Also, you must use enable the HDMI output and set a 1280x720 or higher mode into the HDMI output (you'll probably need a TV plugged into the A/V receiver for this).

                Then, you can try playing the test samples with the following commands (where "file.spdif" is replaced with one of the above test samples):
                Code:
                aplay -D hdmihdtest0 -c8 -fs16_le -r192000 file.spdif
                aplay -D hdmihdtest1 -c8 -fs16_le -r192000 file.spdif
                aplay -D hdmihdtest2 -c8 -fs16_le -r192000 file.spdif
                aplay -D hdmihdtest3 -c8 -fs16_le -r192000 file.spdif
                There are four different commands because there may be up to 4 HDMI codecs on board. Only one of them will work reliably, but it depends on the card and the HDMI port. Note that the files are only several seconds long; we are only interested in whether your receiver recognizes them.

                After testing, please provide the following information:
                • Card and GPU type or codename (GT218, etc. see e.g. /var/log/Xorg.0.log)
                • Display driver version
                • Kernel version and ALSA version (/proc/asound/version)
                • Model name of the receiver
                • Which of the test files work or won't work
                If you can't provide all information, partial reports are fine as well.

                You can post the results here, in the nvnews thread, or send them to me at anssi.hannula@iki.fi.
                Anssi,I assume your using (x264 developers) Kierank's (Kieran Kunhya) and Kemuri9's (Steven Walters) code-base as your basis for these patches ?, i don't see any mention of their contribution in the patch-set though!

                Comment


                • #18
                  Originally posted by popper View Post
                  Anssi,I assume your using (x264 developers) Kierank's (Kieran Kunhya) and Kemuri9's (Steven Walters) code-base as your basis for these patches ?, i don't see any mention of their contribution in the patch-set though!
                  I'm not aware of any code by those people related to this. So, no, I don't think so.

                  Comment


                  • #19
                    Originally posted by bridgman View Post
                    Alex has mentioned that we are going to need some more code/docco in the hdmi audio area.

                    It's on the list of things to look at, no ETA yet but IIRC it's fairly close to the top of the list.
                    the simplest thing would to just ask Kierank, Kemuri9 how best to port it to your audio stack i suppose, Or here's a concept for AMD, actually pay them to do it for you they are always happy to take one off contracts for these porting/patching job's after all, just pop over to #x264dev and ping them about it is your simplest option.

                    Comment


                    • #20
                      Originally posted by Anssi View Post
                      I'm not aware of any code by those people related to this. So, no, I don't think so.

                      i tried to find a direct link to Kierank's EAC3 and other related work to date for you, but cant seem to find it now, you have chatting with him i see in the log's before, so best just go and have a chat about what he's worked on ,and the status of any outstanding code he has etc, he's working on several things including the x262 Mpeg2 Encoder framework for x264 right now i beleave.

                      Comment

                      Working...
                      X