[Bug 737127] interleave: interleaving does not respect the channel positions default order
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Tue Sep 23 05:56:20 PDT 2014
https://bugzilla.gnome.org/show_bug.cgi?id=737127
GStreamer | gst-plugins-good | git
--- Comment #1 from Antonio Ospite <ao2 at ao2.it> 2014-09-23 12:56:16 UTC ---
Created an attachment (id=286870)
View: https://bugzilla.gnome.org/attachment.cgi?id=286870
Review: https://bugzilla.gnome.org/review?bug=737127&attachment=286870
interleave samples following the Default Channel Ordering
In order to have a full mapping between channel positions in the audio stream
and loudspeaker positions, the channel-mask alone is not enough: the channels
must be interleaved following some Default Channel Ordering as mentioned in the
WAVEFORMATEXTENSIBLE[1] specification.
As a Default Channel Ordering we can use the one implied by
GstAudioChannelPosition which follows the ordering defined in SMPTE
2036-2-2008[2].
NOTE that the relative order in the Top Layer is not exactly the same as the
one from the WAVEFORMATEXTENSIBLE[1] specification, is it safe to assume that
users using so may channels are already aware of such discrepancies.
[1]
http://msdn.microsoft.com/en-us/library/windows/hardware/dn653308%28v=vs.85%29.aspx
[2] http://www.itu.int/dms_pub/itu-r/opb/rep/R-REP-BS.2159-2-2011-PDF-E.pdf
I am attaching a proof of the concept of what I mean.
In the final patch I can move the ordering map creation in a dedicated
function, and maybe use qsort instead of the naive bubblesort used for now.
--
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