gstreamer/gst-libs/gst/audio
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
..
.gitignore Update .gitignore 2012-08-08 09:06:30 +01:00
audio-channel-mixer.c audio-channel-mixer: round before truncating 2016-01-12 15:56:36 +01:00
audio-channel-mixer.h audio-channel-mixer: improve non-interleaved flags 2016-03-04 17:17:33 +01:00
audio-channels.c audio-channels: map buffer read-write only if channels differ 2016-11-09 19:42:47 +02:00
audio-channels.h gst-audio: add gst_audio_channel_positions_to_string() 2016-04-12 14:48:30 -04:00
audio-converter.c audio-converter: optimize endian conversion 2016-11-28 17:24:17 +02:00
audio-converter.h audio-converter: optimize endian conversion 2016-11-28 17:24:17 +02:00
audio-format.c audio-format: add TRUNCATE_RANGE flag 2015-11-03 12:12:08 +01:00
audio-format.h audio-format: add TRUNCATE_RANGE flag 2015-11-03 12:12:08 +01:00
audio-info.c audio: add debug categories 2015-11-06 17:29:22 +01:00
audio-info.h base: Add g_autoptr() support to all types 2015-12-14 13:39:43 -05:00
audio-quantize.c audio-quantize: fix feedback dither 2016-02-24 14:57:31 +01:00
audio-quantize.h audio-quantize: add _reset function 2016-01-26 16:45:44 +01:00
audio-resampler-macros.h audioresample: Separate out CFLAGS used for SSE* code 2016-09-29 18:37:08 +05:30
audio-resampler-neon.h audioresample: Separate out CFLAGS used for SSE* code 2016-09-29 18:37:08 +05:30
audio-resampler-private.h audioresample: Separate out CFLAGS used for SSE* code 2016-09-29 18:37:08 +05:30
audio-resampler-x86-sse.c audioresample: Separate out CFLAGS used for SSE* code 2016-09-29 18:37:08 +05:30
audio-resampler-x86-sse.h audioresample: Separate out CFLAGS used for SSE* code 2016-09-29 18:37:08 +05:30
audio-resampler-x86-sse2.c audioresample: Separate out CFLAGS used for SSE* code 2016-09-29 18:37:08 +05:30
audio-resampler-x86-sse2.h audioresample: Separate out CFLAGS used for SSE* code 2016-09-29 18:37:08 +05:30
audio-resampler-x86-sse41.c audiorsample: Fix build on 32-bit x86 2016-09-29 19:45:16 +05:30
audio-resampler-x86-sse41.h audioresample: Separate out CFLAGS used for SSE* code 2016-09-29 18:37:08 +05:30
audio-resampler-x86.h audiorsample: Fix build on 32-bit x86 2016-09-29 19:45:16 +05:30
audio-resampler.c audioresample: Separate out CFLAGS used for SSE* code 2016-09-29 18:37:08 +05:30
audio-resampler.h audio-resampler: improve non-interleaved flags 2016-03-28 13:25:55 +02:00
audio.c audio: don't deref NULL 2016-10-20 15:42:50 +02:00
audio.h audio: Add const to segment parameter of gst_audio_buffer_clip() 2016-04-27 12:26:07 +03:00
audio_mkenum.py Add support for Meson as alternative/parallel build system 2016-08-20 11:09:51 +01:00
dbesi0.c audio-converter: add resampler 2016-03-28 13:13:59 +02:00
gstaudiobasesink.c audioclock: use GstAudioClock* as first argument in GstAudioClock methods 2016-11-01 19:54:01 +02:00
gstaudiobasesink.h base: Add g_autoptr() support to all types 2015-12-14 13:39:43 -05:00
gstaudiobasesrc.c audioclock: use GstAudioClock* as first argument in GstAudioClock methods 2016-11-01 19:54:01 +02:00
gstaudiobasesrc.h base: Add g_autoptr() support to all types 2015-12-14 13:39:43 -05:00
gstaudiocdsrc.c base: use new gst_element_class_add_static_pad_template() 2016-03-24 14:25:41 +02:00
gstaudiocdsrc.h base: Add g_autoptr() support to all types 2015-12-14 13:39:43 -05:00
gstaudioclock.c audioclock: use GstAudioClock* as first argument in GstAudioClock methods 2016-11-01 19:54:01 +02:00
gstaudioclock.h audioclock: use GstAudioClock* as first argument in GstAudioClock methods 2016-11-01 19:54:01 +02:00
gstaudiodecoder.c videodecoder, audiodecoder: parse format before checking in src_query_default 2016-11-16 07:57:31 +11:00
gstaudiodecoder.h libs: audio: split allocation query caps and pad caps 2016-04-05 11:37:15 +02:00
gstaudioencoder.c audio: Don't answer BYTES queries 2016-11-16 00:14:47 +11:00
gstaudioencoder.h libs: audio: split allocation query caps and pad caps 2016-04-05 11:37:15 +02:00
gstaudiofilter.c audiofilter: Clip input buffers to the segment before handling them 2015-11-02 10:20:37 +02:00
gstaudiofilter.h base: Add g_autoptr() support to all types 2015-12-14 13:39:43 -05:00
gstaudioiec61937.c audio: Trivial comment for unhandled MPEG-2 payloading case 2014-09-27 10:40:27 +05:30
gstaudioiec61937.h Fix FSF address 2012-11-03 23:05:09 +00:00
gstaudiometa.c Cast away const from GstMetaInfo in *_get_meta_info() functions 2016-11-15 14:52:22 +02:00
gstaudiometa.h audio: Add GstAudioClippingMeta for specifying clipping on encoded audio buffers 2015-11-03 20:35:33 +02:00
gstaudiopack-dist.c audio: update ORC dist files 2015-11-06 17:54:21 +01:00
gstaudiopack-dist.h audio: update ORC dist files 2015-11-06 17:54:21 +01:00
gstaudiopack.orc audio-converter: move audio converter to audio libs 2015-11-06 17:53:22 +01:00
gstaudioringbuffer.c Revert "audioringbuffer: start ringbuffer if needed upon commit" 2016-04-16 02:13:15 +10:00
gstaudioringbuffer.h base: Add g_autoptr() support to all types 2015-12-14 13:39:43 -05:00
gstaudiosink.c audio: Fix a race with the audioringbuffer thread 2016-04-11 21:43:13 +10:00
gstaudiosink.h base: Add g_autoptr() support to all types 2015-12-14 13:39:43 -05:00
gstaudiosrc.c audiosrc: Leave read loop if no longer running 2016-11-03 13:19:12 -04:00
gstaudiosrc.h base: Add g_autoptr() support to all types 2015-12-14 13:39:43 -05:00
gstaudioutilsprivate.c audioencoder/decoder: Move encoded audio conversion function to a common place 2016-07-04 11:12:55 +02:00
gstaudioutilsprivate.h audioencoder/decoder: Move encoded audio conversion function to a common place 2016-07-04 11:12:55 +02:00
Makefile.am audio-resampler: Add a missing header to noinst_HEADERS 2016-09-29 19:55:45 +05:30
meson.build meson: Fix build when orc is disabled 2016-11-14 17:26:02 -03:00
streamvolume.c Fix FSF address 2012-11-03 23:05:09 +00:00
streamvolume.h libs: There is no G_TYPE_CHECK_INTERFACE_TYPE and G_TYPE_CHECK_INTERFACE_CAST 2014-06-26 16:18:46 +02:00
TODO gst-libs/gst/audio/TODO: Update TODO 2006-02-17 10:15:52 +00:00