av_lfg_get_flt() now takes a scale factor, which makes it more flexible.

Modified the simple dithering functions to pre-generate the dither noise
in order to use SIMD conversion and addition. Includes SSE2 and FMA4
implementations.

Justin Ruggles (3):
  lavu: add av_lfg_get_flt() to get a random float
  eac3dec: use av_lfg_get_flt() for SPX noise generation
  lavr: add option for dithering during sample format conversion to s16

 doc/APIchanges                  |    3 +
 libavcodec/eac3dec.c            |    4 +-
 libavresample/Makefile          |    1 +
 libavresample/audio_convert.c   |   33 +++-
 libavresample/audio_convert.h   |   22 ++-
 libavresample/avresample.h      |    9 +
 libavresample/dither.c          |  475 +++++++++++++++++++++++++++++++++++++++
 libavresample/dither.h          |   71 ++++++
 libavresample/internal.h        |    1 +
 libavresample/options.c         |    6 +
 libavresample/utils.c           |   10 +-
 libavresample/x86/Makefile      |    2 +
 libavresample/x86/dither.asm    |   74 ++++++
 libavresample/x86/dither_init.c |   67 ++++++
 libavutil/lfg.h                 |   19 ++
 libavutil/version.h             |    2 +-
 tests/fate/ac3.mak              |    4 +-
 17 files changed, 787 insertions(+), 16 deletions(-)
 create mode 100644 libavresample/dither.c
 create mode 100644 libavresample/dither.h
 create mode 100644 libavresample/x86/dither.asm
 create mode 100644 libavresample/x86/dither_init.c

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to