Announcement

Collapse
No announcement yet.

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

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

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

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

    Here's another interesting bit of news that just arrived into the Phoronix inbox this Thanksgiving: it's now possible to do TrueHD, DTS-HD, and E-AC3 over HDMI on Linux via FFmpeg. The TrueHD/DTS-HD/E-AC3 support is added to one of FFmpeg muxers to allow HDMI pass-through for these formats. DTS-HD/DTS-HD MA audio up to this point hasn't been supported under Linux and it's used by a sizable portion of the Blu-ray media currently on the market...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    It's cool to see this support, even though I have no intention of getting a bluray drive any time soon.

    Comment


    • #3
      I've only just worked out how to get my machine to decode regular old AC3 and DTS in software from an external source without passing it through. Seems I'm a generation behind! There's surprisingly little information about it around though. If everyone out there has fancy decoder boxes these days, it's news to me. I hope to write some software to make this a bit easier because switching from one codec to another currently requires manual intervention. It's not nice when my 360 suddenly switches from PCM to AC3 and I get a horrible noise.

      Comment


      • #4
        I fscking hate this closed crap! I want it, but I can't get it

        Comment


        • #5
          Call for testing

          (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 [email protected].

          Comment


          • #6
            great, i got TrueHD and DTS-HD movies + a receiver.
            But an ATI graphic card, why should ATI users not test this?

            ___________________________
            And other Question, DTS works fine for be, but suddenly some weeks ago AC3 passtrough broke and i dont know how to fix or debug this.
            [AO_ALSA] Format ac3be is not supported by hardware, trying default.
            But is was working, maybe the fglrx/ATI drive broke it?

            Comment


            • #7
              Originally posted by lord-carlos View Post
              great, i got TrueHD and DTS-HD movies + a receiver.
              But an ATI graphic card, why should ATI users not test this??
              The HDMI on ATI cards is currently limited to 2 channel output in ALSA. That needs to be fixed first (I don't have ATI hardware).

              Comment


              • #8
                Originally posted by benmoran View Post
                It's cool to see this support, even though I have no intention of getting a bluray drive any time soon.
                I second that. I don't know if blu-ray is having a good acceptance rate, but for me DVD already has pretty good image quality. I don't think there's so much difference as was the case when switching from VHS to DVD. The medium also takes up the same space (once again another big advantage for DVD over VHS), and they both have the same physical resistance. It probably only makes sense with a big ass TV, but even then I'm not sure if media streaming isn't more interesting than physical media. Oh, and then there's the question of the stupid name. Blu-Ray (what happened to the "e"? It seems one of those Kool names from the 80's)... a big advantage of CD and DVD names is that those work in any language. Blu-Ray is too anglicized and so not so universal as predecessor. Anyway, this news is actually good, since more functionality doesn't hurt

                Comment


                • #9
                  Originally posted by Anssi View Post
                  The HDMI on ATI cards is currently limited to 2 channel output in ALSA. That needs to be fixed first (I don't have ATI hardware).
                  But why then does DTS work?
                  DTS does (can) use 6 channels, or am i completly in the wrong here?

                  Comment


                  • #10
                    Originally posted by lord-carlos View Post
                    But why then does DTS work?
                    DTS does (can) use 6 channels, or am i completly in the wrong here?
                    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.

                    Comment

                    Working...
                    X