Hardware DTS decoding


 
118 posts   Page 1 of 5   1, 2, 3, 4, 5
by mcmanuf » Fri Aug 24, 2012 8:34 pm
The MPEG2 decoding is GREAT news.

Would it be possible to use the same model for DTS decoding? Would it be possible to buy a license for this as well, so DTS can be decoded in HW? Not everyone has a system that can decode DTS bitstreams, so we are dependent on the RPi to do so! And the SW is simply too slow to decode DTS, and especially 1080p H264 with DTS lags like h...
This would be the last thing to make it perfect as a silent MC.

Thanks RPF
Posts: 26
Joined: Wed Aug 22, 2012 12:29 am
Location: Denmark
by mcmanuf » Sat Aug 25, 2012 9:48 am
op^
Posts: 26
Joined: Wed Aug 22, 2012 12:29 am
Location: Denmark
by dom » Sat Aug 25, 2012 10:05 am
This is something we are working on.
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 3987
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge
by mcmanuf » Sat Aug 25, 2012 10:22 pm
Thx alot mate.

I was sure the chip was able to do DTS 5.1 to stereo downmix decoding over HDMI, I just wasn't sure it was something you were looking into!
Posts: 26
Joined: Wed Aug 22, 2012 12:29 am
Location: Denmark
by 1080p_at_35b » Sat Sep 01, 2012 5:08 pm
+1

Would be delighted to buy a DTS codec license in the same manner as the MPG2 and VC-1 codecs, if necessary. Personally I don't want/need surround sound (DTS, DD5.1) at this stage but I would like to be able to play files with surround sound audio tracks rather than having to demux, transcode the audio and remux each file.

I've turned on he "Output stereo to all speakers" which presumably means downmixing, but that does not seem to solve the issue.

Thank you for looking into this.
Posts: 42
Joined: Fri Jun 22, 2012 6:07 pm
by damianiw » Sun Sep 02, 2012 9:31 pm
+1 for hardware DTS decoding, in fact as I'm keen on a silent media centre could you offer a pack of all the licenses if there's more than DTS that the pi could be hardware capable of but wasn't licensed due to cost?

I understand why it was done this way, to keep the price down and I'm really pleased you've listened and worked to introduce licensing at additional expense to those of us who want it.

:D
Posts: 2
Joined: Mon Jun 25, 2012 3:02 pm
by 1080p_at_35b » Mon Sep 03, 2012 2:50 am
damianiw wrote:+1 for hardware DTS decoding, in fact as I'm keen on a silent media centre could you offer a pack of all the licenses if there's more than DTS that the pi could be hardware capable of but wasn't licensed due to cost?

I understand why it was done this way, to keep the price down and I'm really pleased you've listened and worked to introduce licensing at additional expense to those of us who want it.

:D
How does automating the process of buying the license and adding the enabling line to the /boot/config.txt file relate to "a silent media centre" damianiw? Where you say "silent" do you perhaps mean hands-off or 'just works' without much user interaction or maintenance?

I guess a script could be written to automate this process. Perhaps it could even have a UI inside XBMC for entering the credit card details. I guess it's a question of whether there are enough users who cannot fill out the online codec purchase form and edit a text file? There may also be security implications for the developer(s) who write such a script as it would have to parse credit card details. Not sure if a developer would want to take on the responsibility of risking user credit card details just so that users can avoid the relatively trivial setup tasks for purchasing and enabling non-default licenses.
Posts: 42
Joined: Fri Jun 22, 2012 6:07 pm
by rbej » Fri Sep 07, 2012 2:12 pm
+1

I cant wait for dts/ac3 hardware decodings.
Posts: 101
Joined: Fri Sep 07, 2012 2:10 pm
by rednick » Fri Sep 07, 2012 5:35 pm
1080p_at_35b wrote:How does automating the process of buying the license and adding the enabling line to the /boot/config.txt file relate to "a silent media centre" damianiw? Where you say "silent" do you perhaps mean hands-off or 'just works' without much user interaction or maintenance?

I think he literally means silent: as in makes no noise, as the raspberrypi has no moving parts.

+1 to hardware DTS encoding.
Posts: 2
Joined: Fri Sep 07, 2012 5:28 pm
by koldlaser » Sat Sep 08, 2012 3:44 am
Please give us this option to buy dts license!! This board is not a complete media center without this enable.
Posts: 2
Joined: Wed Aug 22, 2012 11:12 pm
by rbej » Sat Sep 08, 2012 11:08 am
Important question for developers Rpi.

DTS/AC3 hardware decoding is possible in Rpi??.
Posts: 101
Joined: Fri Sep 07, 2012 2:10 pm
by dom » Sat Sep 08, 2012 11:31 am
rbej wrote:Important question for developers Rpi.

DTS/AC3 hardware decoding is possible in Rpi??.


Yes it is. All ready to go for omxplayer and xbmc.
Unfortunately DTS requires compliance testing before we can licence it. We're investigating that.
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 3987
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge
by rbej » Sat Sep 08, 2012 2:41 pm
Let's keep our fingers crossed for DTS license.
Posts: 101
Joined: Fri Sep 07, 2012 2:10 pm
by 1080p_at_35b » Sat Sep 08, 2012 2:54 pm
dom wrote:
rbej wrote:Important question for developers Rpi.

DTS/AC3 hardware decoding is possible in Rpi??.


Yes it is. All ready to go for omxplayer and xbmc.
Unfortunately DTS requires compliance testing before we can licence it. We're investigating that.
Great news/update dom, thanks!
Posts: 42
Joined: Fri Jun 22, 2012 6:07 pm
by mcmanuf » Sat Sep 08, 2012 3:35 pm
dom wrote:
rbej wrote:Important question for developers Rpi.

DTS/AC3 hardware decoding is possible in Rpi??.


Yes it is. All ready to go for omxplayer and xbmc.
Unfortunately DTS requires compliance testing before we can licence it. We're investigating that.


This is great news dom. I'm looking very much forward to it.

Just another quick question. Does the broadcom chip itself have an algorithm that actually does the downsampling from 5.1->2.0 (DTS+AC3) or is the software (XBMC fx) feeding it the data stream, with a matrix telling the chip how much each channel should be weighted?
Posts: 26
Joined: Wed Aug 22, 2012 12:29 am
Location: Denmark
by dom » Sat Sep 08, 2012 4:11 pm
mcmanuf wrote:Just another quick question. Does the broadcom chip itself have an algorithm that actually does the downsampling from 5.1->2.0 (DTS+AC3) or is the software (XBMC fx) feeding it the data stream, with a matrix telling the chip how much each channel should be weighted?


There is an openmax audio_mixer component that can do the 5.1->stereo mixing. I believe the default is:
// L' = 0.7071 C + L + 0.7071 Ls + 0.7071 LFE
// R' = 0.7071 C + R + 0.7071 Rs + 0.7071 LFE
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 3987
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge
by mcmanuf » Sat Sep 08, 2012 4:18 pm
Thank you for your answer.

So I have understood it correctly that the chip do NOT do the full processing of the DTS 5.1 stream?
The openmax_mixer software helps it on the way, by already weighting the channels, so essentieally (very boldly) the the audio path is

DTS 5.1 bitstream -> DTS 2.0 bitstream (openmax_mixer, Software process) -> process and decode DTS 2.0 stream (hardware process, broadcom chip) -> output to television

Is this correctly understood?
Posts: 26
Joined: Wed Aug 22, 2012 12:29 am
Location: Denmark
by dom » Sat Sep 08, 2012 4:32 pm
mcmanuf wrote:Thank you for your answer.

So I have understood it correctly that the chip do NOT do the full processing of the DTS 5.1 stream?
The openmax_mixer software helps it on the way, by already weighting the channels, so essentieally (very boldly) the the audio path is

DTS 5.1 bitstream -> DTS 2.0 bitstream (openmax_mixer, Software process) -> process and decode DTS 2.0 stream (hardware process, broadcom chip) -> output to television

Is this correctly understood?


There are 3 scenarios.
DTS passthough: DTS 5.1 bitstream -> VCHIQ -> television
ARM decode: DTS 5.1 bitstream -> ARM decode to 6 channel PCM -> VCHIQ -> audio_mixer -> television
GPU decode : DTS 5.1 bitstream -> VCHIQ -> GPU decode to 6 channel PCM -> audio_mixer -> television

VCHIQ is the message passing interface from ARM to GPU.
The GPU decode is just software, as is audio_mixer (although 16-way SIMD accelerated, so more efficient than ARM).
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 3987
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge
by 1080p_at_35b » Sat Sep 08, 2012 4:38 pm
dom wrote:
mcmanuf wrote:Thank you for your answer.

So I have understood it correctly that the chip do NOT do the full processing of the DTS 5.1 stream?
The openmax_mixer software helps it on the way, by already weighting the channels, so essentieally (very boldly) the the audio path is

DTS 5.1 bitstream -> DTS 2.0 bitstream (openmax_mixer, Software process) -> process and decode DTS 2.0 stream (hardware process, broadcom chip) -> output to television

Is this correctly understood?


There are 3 scenarios.
DTS passthough: DTS 5.1 bitstream -> VCHIQ -> television
ARM decode: DTS 5.1 bitstream -> ARM decode to 6 channel PCM -> VCHIQ -> audio_mixer -> television
GPU decode : DTS 5.1 bitstream -> VCHIQ -> GPU decode to 6 channel PCM -> audio_mixer -> television

VCHIQ is the message passing interface from ARM to GPU.
The GPU decode is just software, as is audio_mixer (although 16-way SIMD accelerated, so more efficient than ARM).
dom does this mean there will be no downmixing to stereo option?
Posts: 42
Joined: Fri Jun 22, 2012 6:07 pm
by dom » Sat Sep 08, 2012 4:49 pm
1080p_at_35b wrote:dom does this mean there will be no downmixing to stereo option?

No. There is an audio mixer stage after the GPU decode of DTS.
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 3987
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge
by rbej » Sat Sep 08, 2012 6:45 pm
GPU decoding DTS is more faster than ARM decoding??. Maybe better optimization ARM decoding will be enough to playing smooth 1080p DTS 5.1 movies on TV without external DTS receiver.
Posts: 101
Joined: Fri Sep 07, 2012 2:10 pm
by dom » Sat Sep 08, 2012 7:59 pm
rbej wrote:GPU decoding DTS is more faster than ARM decoding??. Maybe better optimization ARM decoding will be enough to playing smooth 1080p DTS 5.1 movies on TV without external DTS receiver.

I'm sure that's possible. But it is not a trivial job, and I haven't seen any volunteering.
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 3987
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge
by 1080p_at_35b » Sat Sep 08, 2012 11:13 pm
dom wrote:
rbej wrote:GPU decoding DTS is more faster than ARM decoding??. Maybe better optimization ARM decoding will be enough to playing smooth 1080p DTS 5.1 movies on TV without external DTS receiver.

I'm sure that's possible. But it is not a trivial job, and I haven't seen any volunteering.
who cares whether it is done via the ARM chip or the GPU? I personally do not. I would really just like to be able to play 1080 DTS movies without stutter and such that I can hear the voice channel adequately mixed with the rest of the channels into stereo.

I believe those with a DTS receiver can already do this because the audio is not decoded by the Raspi at all, just passed straight through to the receiver. Those of us without expensive receivers cannot play 1080 DTS because the Raspi currently chokes trying to play the audio, even when not attempting downmixing!
Posts: 42
Joined: Fri Jun 22, 2012 6:07 pm
by mcmanuf » Sat Sep 08, 2012 11:26 pm
dom wrote:There are 3 scenarios.
DTS passthough: DTS 5.1 bitstream -> VCHIQ -> television
ARM decode: DTS 5.1 bitstream -> ARM decode to 6 channel PCM -> VCHIQ -> audio_mixer -> television
GPU decode : DTS 5.1 bitstream -> VCHIQ -> GPU decode to 6 channel PCM -> audio_mixer -> television

VCHIQ is the message passing interface from ARM to GPU.
The GPU decode is just software, as is audio_mixer (although 16-way SIMD accelerated, so more efficient than ARM).



Thank you for your detailed response. Much appreciated.
I admittedly thought the GPU had a HW path to decode DTS, as the GPU chip is used in a media player unit.

Out of interest, is the DTS license fee in regard of having access to the 16-way accelerated SIMD path?
As I understand it, the MPEG and VC1 license is what you pay to have the GPU "unlocked" to decode these streams!
Posts: 26
Joined: Wed Aug 22, 2012 12:29 am
Location: Denmark
by damianiw » Sun Sep 09, 2012 6:03 pm
Wow thanks for the detailed updates on here.

When I said silent I did indeed mean fanless (and diskless as its playing from my NAS), with the CEC support in raspbmc its an excellent media player and will be perfect if you manage to sort the dts licensing.
Posts: 2
Joined: Mon Jun 25, 2012 3:02 pm