[FFmpeg-devel] [PATCH 0/6] aacenc: Improved Intensity Stereo & cleanups

Rostislav Pehlivanov atomnuker at gmail.com
Wed Jul 29 06:44:23 CEST 2015


This patchset attempts to clean up the encoder by moving out
the multitude of tables, small helper functions and big functions
to separate file, allowing them to be used by files external to the
encoder's main two files.
The intensity stereo implementation was taken out of the aaccoder file
by including those helper functions and tables. The implementation
itself received a big update which allows it to both phases for a band
by doing a distortion calculation on the coefficients twice. Using this
deterministic method results in a big quality improvement and reduces
distortions overall, as well as allowing IS to be used with M/S
simultaneously for the same band. This is allowed by the specifications
however was not done before due to problems calculating the correct phase.

The commits are meant to be applied sequentially and outside the new
intensity stereo phase calculation do not change the output
and behaviour of the encoder but merely organize it.
The first two commits can be applied separately without creating
or otherwise changing anything outside of their function scope.

Rostislav Pehlivanov (6):
  aacenc: remove redundant argument from coder functions
  aacenc: Improve Intensity Stereo phase detection
  aacenc: Move local encoder specific tables to a separate file
  aacenc: Move small misc. functions to a separate file
  aaccoder: Move the quantization function to a separate file
  aacenc: Move Intensity Stereo search functions to a new file

 libavcodec/Makefile              |   4 +-
 libavcodec/aaccoder.c            | 436 +--------------------------------------
 libavcodec/aacenc.c              | 147 ++-----------
 libavcodec/aacenc.h              |   8 +-
 libavcodec/aacenc_is.c           | 142 +++++++++++++
 libavcodec/aacenc_is.h           |  46 +++++
 libavcodec/aacenc_quantization.h | 245 ++++++++++++++++++++++
 libavcodec/aacenc_utils.h        | 143 +++++++++++++
 libavcodec/aacenctab.c           | 108 ++++++++++
 libavcodec/aacenctab.h           | 100 +++++++++
 10 files changed, 810 insertions(+), 569 deletions(-)
 create mode 100644 libavcodec/aacenc_is.c
 create mode 100644 libavcodec/aacenc_is.h
 create mode 100644 libavcodec/aacenc_quantization.h
 create mode 100644 libavcodec/aacenc_utils.h
 create mode 100644 libavcodec/aacenctab.c
 create mode 100644 libavcodec/aacenctab.h

-- 
2.5.0.rc2.392.g76e840b



More information about the ffmpeg-devel mailing list