replaygain: fix gain sign decoding

The gain sign was incorrectly decoded: since the FFSIGN() macro treats 0 as
negative, gain values starting with "0." were always decoded as negative.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
replaygain: correctly parse peak values

According to the ReplayGain spec, the peak amplitude may overflow and may result
in peak amplitude values greater than 1.0 with psychoacoustically coded audio,
such as MP3. Fully compliant decoders must allow peak overflows.

Additionally, having peak values in the 0<->UINT32_MAX scale makes it more
difficult for applications to actually use the peak values (e.g. when
implementing clipping prevention) since values have to be rescaled down.

This patch corrects the peak parsing by removing the rescaling of the decoded
values between 0 and UINT32_MAX and the 1.0 upper limit.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
x86/synth_filter: add synth_filter_sse

Build only on x86_32 targets.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
x86/synth_filter: add synth_filter_avx

Sandy Bridge Win64:
180 cycles in ff_synth_filter_inner_sse2
150 cycles in ff_synth_filter_inner_avx

Also switch some instructions to a three operand format to avoid
assembly errors with Yasm 1.1.0 or older.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
flacdec: export replaygain tags from Vorbis comments

Signed-off-by: Anton Khirnov <anton@khirnov.net>
oggparsevorbis: export replaygain tags from Vorbis comments

Signed-off-by: Anton Khirnov <anton@khirnov.net>
replaygain: remove unused variable

Signed-off-by: Anton Khirnov <anton@khirnov.net>
x86/synth_filter: add synth_filter_fma3

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
af_volume: implement replaygain pre-amplification

This adds a new "replaygain_preamp" option to the filter, and simply adds its
value to the replaygain gain value.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
af_ashowinfo: print a more descriptive name for AV_MATRIX_ENCODING_DOLBY
Merge commit '25b6837f7cacd691b19cbc12b9dad1ce84a318a1'

* commit '25b6837f7cacd691b19cbc12b9dad1ce84a318a1':
  replaygain: fix gain sign decoding

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '8542f9c4f17125d483c40c0c5723842f1c982f81'

* commit '8542f9c4f17125d483c40c0c5723842f1c982f81':
  replaygain: correctly parse peak values

Conflicts:
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '1d55f8d5f6f2cd74fa27170e2be37a72441d9202'

* commit '1d55f8d5f6f2cd74fa27170e2be37a72441d9202':
  flacdec: export replaygain tags from Vorbis comments

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '0048deb84cb6d22ba7f4fd7c8b4ecc054fcc22d4'

* commit '0048deb84cb6d22ba7f4fd7c8b4ecc054fcc22d4':
  oggparsevorbis: export replaygain tags from Vorbis comments

Conflicts:
	libavformat/Makefile
	libavformat/oggparsevorbis.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit 'b97f2c7c49e35724f3963677f8aeee28089dc64e'

* commit 'b97f2c7c49e35724f3963677f8aeee28089dc64e':
  replaygain: remove unused variable

See: c01ddf845dcb655e6d6a3382e24bf3af63bad83c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit 'c74b86699c86bdf62e8570f41d8a38be5710baa3'

* commit 'c74b86699c86bdf62e8570f41d8a38be5710baa3':
  x86/synth_filter: add synth_filter_fma3
  x86/synth_filter: add synth_filter_avx
  x86/synth_filter: add synth_filter_sse

Conflicts:
	libavcodec/x86/dcadsp.asm
	libavcodec/x86/dcadsp_init.c

See: 64672098361361cd15d37e36f747ab44de5b80ca
See: 68c3ed936a76c3ff7738f602fa90237ac7e3ce08
See: 7fd64e3e36f79204c0eda7cacce6884c14ddc1fb
See: aa1f38015cb0d04a5c50a8957dd7aba79f0d8882
See: dfd865e51b890d9be394804bccddf55198f4a251
Merged-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/x86/dcadsp_init: fix compilation failure without FMA3

alternatively the call could be put under #if or the #if
over the function removed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit 'a49aa440c939e221194f8d95bf98673f8cf38a06'

* commit 'a49aa440c939e221194f8d95bf98673f8cf38a06':
  af_volume: implement replaygain pre-amplification

Conflicts:
	doc/filters.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  af_ashowinfo: print a more descriptive name for AV_MATRIX_ENCODING_DOLBY

Merged-by: Michael Niedermayer <michaelni@gmx.at>
configure: Fix testing of objective-c headers for qtkit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>