gstreamer/gst
Petr Kulhavy 010b9547d3 audio-converter: optimize endian conversion
Optimize LE<->BE conversion by adding a dedicated fast path instead of
using the generic converter. Implement transform_ip function in order to do the
endian swap in place.

This saves buffer allocation for the intermediate format, can be done in place
and also performs the conversion in one step instead of unpack-convert-pack.

For all bit widths the naive algorithm is implemented, which provides the best
performance when compiled with -O3. ORC was considered but eventually removed
as it requires a dedicated function for in-place conversion (due to the
"restrict" parameters).

A more complex algorithm for the 24-bit conversion with unrolled loop and
32-bit processing is implemented in the #if 0 section. It performs better if
compiled with -O2. With -O3 however the naive algorithm performs better.

https://bugzilla.gnome.org/show_bug.cgi?id=773073
2016-11-28 17:24:17 +02:00
..
adder meson: Fix build when orc is disabled 2016-11-14 17:26:02 -03:00
app Add support for Meson as alternative/parallel build system 2016-08-20 11:09:51 +01:00
audioconvert audio-converter: optimize endian conversion 2016-11-28 17:24:17 +02:00
audiorate Add support for Meson as alternative/parallel build system 2016-08-20 11:09:51 +01:00
audioresample Add support for Meson as alternative/parallel build system 2016-08-20 11:09:51 +01:00
audiotestsrc audiotestsrc: Fix segment boundary checking for reverse playback 2016-09-17 07:19:14 -04:00
encoding Add support for Meson as alternative/parallel build system 2016-08-20 11:09:51 +01:00
gio Add support for Meson as alternative/parallel build system 2016-08-20 11:09:51 +01:00
pbtypes meson: Add pbtypes plugin 2016-11-02 11:03:42 +02:00
playback subtitleoverlay: Fix caps memory leak when failing to get sinkpad from subtitle renderer 2016-11-28 13:56:33 +02:00
subparse Add support for Meson as alternative/parallel build system 2016-08-20 11:09:51 +01:00
tcp Add support for Meson as alternative/parallel build system 2016-08-20 11:09:51 +01:00
typefind typefind: bounds check windows ico detection 2016-11-23 21:37:27 +11:00
videoconvert Add support for Meson as alternative/parallel build system 2016-08-20 11:09:51 +01:00
videorate videorate: Add fixed rate property 2016-11-04 14:01:54 -03:00
videoscale Add support for Meson as alternative/parallel build system 2016-08-20 11:09:51 +01:00
videotestsrc meson: Fix build when orc is disabled 2016-11-14 17:26:02 -03:00
volume meson: Fix build when orc is disabled 2016-11-14 17:26:02 -03:00
Makefile.am pbtypes: Add a stub plugin that owns the plugins-base dynamic types 2016-11-02 11:24:11 +11:00
meson.build meson: Add pbtypes plugin 2016-11-02 11:03:42 +02:00