[gstreamer-bugs] [Bug 608892] DCA/AAC/AC-3 decoders broken in gst-ffmpeg

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Nov 2 04:33:07 PDT 2010


https://bugzilla.gnome.org/show_bug.cgi?id=608892
  GStreamer | gst-ffmpeg | 0.10.x

Robert Swain <robert.swain> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |robert.swain at gmail.com

--- Comment #5 from Robert Swain <robert.swain at gmail.com> 2010-11-02 11:33:02 UTC ---
I discussed the issue of why FAAD is still preferred over ffdec_aac with some
FFmpeg colleagues and it seems that no one has seen any AAC samples anywhere
that make use of the matrix mixing method from the specification. In fact, the
specification itself states that the method is not allowed with LC AAC objects.
I'm not certain, but that may perhaps extend to HE AAC as well as HE AAC might
be LC AAC objects with SBR and PS objects as well.

AC-3 and DTS both use matrices though. DTS has standard matrices and the
possibility to create custom ones too.

For each format, I believe that in most cases the output channel order from the
decoder will follow the channels as described in their specifications in
WAVEFORMATEXTENSIBLE order. Apologies if this link disappears or anything, but
the order can be found in libavcodec/avcodec.h [1]. The convenience layout
definitions that follow the channel order list don't cover all the different
layouts in the different decoders so don't rely on just those. One can see
which layouts are supported for each decoder in the AVCodec.channel_layouts
member.

Perhaps the AC-3 and DTS matrices can be passed out of band (buffer metadata?
:B) to audioconvert for external downmixing. Either that or one will have to
implement generic channel mixing in FFmpeg and make it be performed to adhere
to request_channels or whatever the current desired usage is in the libavcodec
APIs, with DTS and AC-3 making use of matrices as appropriate.

[1]
http://git.ffmpeg.org/?p=ffmpeg;a=blob;f=libavcodec/avcodec.h;h=96d7987bdde2751956dab6719aed60ae8f75cd47;hb=HEAD#l426

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.




More information about the Gstreamer-bugs mailing list