1. 15 Feb, 2018 3 commits
  2. 11 Oct, 2017 2 commits
  3. 22 Sep, 2017 1 commit
  4. 10 Mar, 2017 1 commit
  5. 30 Nov, 2016 1 commit
  6. 28 Nov, 2016 2 commits
    • Petr Kulhavy's avatar
      audio-converter: optimize endian conversion · 010b9547
      Petr Kulhavy authored
      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.
    • Petr Kulhavy's avatar
      audio-convert: simplify the chain free process · 640c54d8
      Petr Kulhavy authored
      It is not needed to store a pointer to every single chain element to free it.
      Instead walk the channel list backwards and free the chain elements one by one.
      Rename GstAudioConverter->chain_pack to chain_end.
  7. 28 Mar, 2016 11 commits
  8. 24 Feb, 2016 1 commit
  9. 10 Feb, 2016 1 commit
  10. 26 Jan, 2016 4 commits
  11. 21 Jan, 2016 1 commit
  12. 12 Jan, 2016 2 commits
    • Wim Taymans's avatar
      audio-converter: Avoid conversion when possible · ef3844cf
      Wim Taymans authored
      When the input and output formats are the same and in a possible
      intermediate format, avoid unpack and pack.
      Never do passthrough channel mixing.
      Only do dithering and noise shaping in S32 format
    • Wim Taymans's avatar
      audio-converter: improve processing loop · 8a8b1218
      Wim Taymans authored
      Process as many samples as we can from the input and return the number
      of processed samples from the chain. This simplifies some code.
      Fix the IN_WRITABLE handling, don't overwrite the flags.
  13. 08 Jan, 2016 4 commits
    • Wim Taymans's avatar
      audio-converter: small API tweaks · 85afad72
      Wim Taymans authored
      Pass flags in _converter_new() so that we can configure ourselves
      differently depending on some options.
      SOURCE_WRITABLE -> IN_WRITABLE because the array is called 'in'
    • Wim Taymans's avatar
      audio-converter: prepare API for rate changes · 7f49b946
      Wim Taymans authored
      Use the update function to update the sample rates along with the config
      once we implement resampling.
    • Wim Taymans's avatar
      audio-convert: simplify API · 98016345
      Wim Taymans authored
      Simplify the API, we don't need the consumed and produced output
      arguments. The caller needs to use the _get_in_frames/get_out_frames API
      to check how much input is needed and how much output will be produced.
    • Wim Taymans's avatar
      audio: GstAudioChannelMix -> GstAudioChannelMixer · 40f4c5e3
      Wim Taymans authored
      Rename the GstAudioChannelMix object to GstAudioChannelMixer because it
      looks better and to avoid a conflict with a library in -bad.
  14. 29 Dec, 2015 1 commit
    • Stefan Sauer's avatar
      audioconvert: fix passthrough operation · 7bbfa39a
      Stefan Sauer authored
      We did not take the sample size into account. Rearrange the tests to have more
      conversion test and an extra test case for passthrough operations.
      Fixes #759890
  15. 27 Dec, 2015 1 commit
    • Stefan Sauer's avatar
      audio-converter: code cleanup · 0bd3f818
      Stefan Sauer authored
      Rename samples to num_samples, since we also have samples in chain, but that is
      the data pointer. Always use gzize for num_samples. Make the log output a bit
      more homogenous.
  16. 26 Dec, 2015 1 commit
  17. 16 Dec, 2015 1 commit
    • Wim Taymans's avatar
      audio-converter: rework the main processing loop · 08734e75
      Wim Taymans authored
      Rework the main processing loop. We now create an audio processing
      chain from small core functions. This is very similar to how the
      video-converter core works and allows us to statically calculate an
      optimal allocation strategy for all possible combinations of operations.
      Make sure we support non-interleaved data everywhere.
      Add functions to calculate in and out frames and latency.
  18. 14 Dec, 2015 2 commits