x86: sbrdsp: Implement SSE2 qmf_deint_bfly

Sandybridge: 47 cycles

Having a loop counter is a 7 cycle gain.
Unrolling is another 7 cycle gain.
Working in reverse scan is another 6 cycles.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
sbrdsp: Unroll sbr_autocorrelate_c

1410 cycles to 1148 on Arrandale/Win64

Signed-off-by: Diego Biurrun <diego@biurrun.de>
sbrdsp: Unroll and use integer operations

This patch can be controversial, by assuming floats are IEEE-754 and
particular behaviour of the FPU will get in the way.
Timing on Arrandale and Win32 (thus, x87 FPU is used in the reference).

sbr_qmf_pre_shuffle_c: 115 to 76
sbr_neg_odd_64_c: 84 to 55
sbr_qmf_post_shuffle_c: 112 to 83

Signed-off-by: Diego Biurrun <diego@biurrun.de>
silly typo fixes
wav: return meaningful errors
build: tune down the output of lcov/gcov

In the default settings, both tools produce a lot of unhelpful noise.
build: normalize coverage.info

Without this, lcov sometimes misses to normalize paths that contain "/./".
Also, ignore uninteresting hits in system headers.
Merge commit '4a7af92cc80ced8498626401ed21f25ffe6740c8'

* commit '4a7af92cc80ced8498626401ed21f25ffe6740c8':
  sbrdsp: Unroll and use integer operations
  sbrdsp: Unroll sbr_autocorrelate_c
  x86: sbrdsp: Implement SSE2 qmf_deint_bfly

Conflicts:
	libavcodec/sbrdsp.c
	libavcodec/x86/sbrdsp.asm
	libavcodec/x86/sbrdsp_init.c

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

* commit 'a5f8873620ce502d37d0cc3ef93ada2ea8fb8de7':
  silly typo fixes

Conflicts:
	doc/protocols.texi
	libavcodec/aacpsy.c
	libavformat/utils.c
	tools/patcheck

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

* qatar/master:
  wav: return meaningful errors

Conflicts:
	libavformat/wavdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
configure: Add basic valgrind-memcheck support

With the parameter --valgrind-memcheck, the configure script sets
reasonable defaults that can be overridden as explained in the
documentation.

The idea of using set_defaults is from Luca Barbato.
aacdec: free frame buffer if no audio was decoded

If no decoding error was detected, but still no audio was decoded, the
frame needs to be free'ed, or it will leak.

Fixes part of ticket #2095

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
lavf: call the new seek API from the old.

If the demuxer implements read_seek2() and not read_seek(),
call avformat_seek_file() from av_seek_frame().
Allow to properly seek in formats that only implement the
new API from applications that use the old one.
Tested with mplayer and a concat script.
lavf: filter out AVSEEK_FLAG_BACKWARD in new API.

Also document that it has no effect.
lavf/concatdec: remove invalid check for AVSEEK_FLAG_BACKWARD.
lavf/matroskaenc: return an error for unsupported types.
dfa: Put our pointer check back.

The reimplementation by Libav does not prevent out of array
writes, even though it looks like it does at a quick glance.

No FFmpeg releases are affected by this

See: d1c95d2ce39560e251fdb14f4af91b04fd7b845c
     3623589edc7b1257bb45aa9e52c9631e133f22b6
     740ebe468c0567cac03ef7e6b4b9fd0253b97da2

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
wmaprodec: Fix null pointer dereference in decode_frame()

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Merge remote-tracking branch 'cigaes/master'

* cigaes/master:
  lavf/matroskaenc: return an error for unsupported types.
  lavf/concatdec: remove invalid check for AVSEEK_FLAG_BACKWARD.
  lavf: filter out AVSEEK_FLAG_BACKWARD in new API.
  lavf: call the new seek API from the old.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
nut: K&R formatting cosmetics

Signed-off-by: Diego Biurrun <diego@biurrun.de>