[PATCH]: Add libdca, a DTS decoder

98 views
Skip to first unread message

Daniel Berlin

unread,
Oct 18, 2012, 4:11:52 PM10/18/12
to geexbo...@googlegroups.com
This in turn will be used to enable DTS support in gst-plugins-bad

(Note: I am not sure this is as minimal as it could be, i copied what
seemed to be the template for new packages)

I wouldn't worry too much about pegging to SVN trunk.
They haven't had a commit in over 292 days, and before that, 500+ days.

I do now notice the version should be 0.0.5, not 0.5
libdca.diff

Benjamin

unread,
Oct 18, 2012, 5:28:18 PM10/18/12
to geexbo...@googlegroups.com
libdca is deprecated imho.
ffmpeg has proper dts decoder since ages and gst-ffmpeg make use of that naturally.

package is probably useless.

Daniel Berlin

unread,
Oct 18, 2012, 6:36:50 PM10/18/12
to geexbo...@googlegroups.com
On Thu, Oct 18, 2012 at 5:28 PM, Benjamin <benjami...@gmail.com> wrote:
> libdca is deprecated imho.
Yes, it is.
I pointed this out on the geexbox forums, however ....

> ffmpeg has proper dts decoder since ages and gst-ffmpeg make use of that
> naturally.
I agree in theory.
Except it doesn't work in practice.
Or at least, it doesn't work on pandaboard.

ffdec_dca is properly compiled, and gst-inspect shows it's there and
accepting x/audio-dts.
However, it decides it can't accept DTS when something actually tries
to give it DTS, and as a result, gstreamer doesn't play DTS.

It works fine with libdca + gst-plugins-bad

They both show the same caps to gstreamer, so i'm at a loss.
If i compile gstreamer with --enable-gst-debug, and try to use
GST_DEBUG to see what's going on, it crashes in the middle of printing
debug messages.

Thoughts on what to do here welcome :)

> package is probably useless.

Do you really think i'd waste my time if it just worked? :)

Daniel Berlin

unread,
Oct 18, 2012, 7:02:54 PM10/18/12
to geexbo...@googlegroups.com
So, actually,right after I wrote that, I figured out what is up.
http://lists.freedesktop.org/archives/gstreamer-commits/2011-June/051568.html

This is in the version being used in geexbox, so it will never
autoselect gst-ffmpeg for DTS decoding

The bug + mailing list message suggest using dtsdec (which is what i
enabled with my patches) for now.
It was never fixed on the 0.10.13 branch.

On the 1.0 branch of gst-ffmpeg, the bug was not fixed, but it's now
RANK_MARGINAL:

commit 3d43013d4ffbcaf48fc3db9b6cc31544d69470ef
Author: Sebastian Dröge <sebastia...@collabora.co.uk>
Date: Tue Jan 10 11:04:56 2012 +0100

ffdec: Give the (E)AC3/DTS decoders a rank of marginal

Even if they don't downmix to stereo, they're still working
correctly. The only advantage of dtsdec/a52dec is that they
downmix to stereo (using the special downmixing matrices) if
downstream prefers stereo but in every other case they should
be equivalent.


Given pandaboard can't be upgraded to gstreamer 1.0 without a lot more
upstream support (since the hardware decoder plugins/etc are still
pegged to gstreamer 0.10), it seems using libdca and dtsdec may be the
right thing to do.

I could also prepare a patch to swap the rank in gst-ffmpeg back to
marginal if you like, but as it says, this will be broken in
downmixing configs.
Reply all
Reply to author
Forward
0 new messages