h264: avoid undefined behavior in chroma motion compensation

Makes fate-h264 pass under valgrind --undef-value-errors=yes with
-cpuflags none. {avg,put}_h264_chroma_mc8_8 approximately 5% faster,
{avg,put}_h264_chroma_mc4_8 2% faster both on x86 and arm.
dca: replace some memcpy by AV_COPY128

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
x86: float dsp: unroll SSE versions

vector_fmul and vector_fmac_scalar are guaranteed that they can process in
batch of 16 elements, but their SSE versions only does 8 at a time.

Therefore, unroll them a bit.
299 to 261c for 256 elements in vector_fmac_scalar on Arrandale/Win64.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
aarch64: use EXTERN_ASM consistently for exported symbols

Based on e3fec3f095ab5ea08ee662942d98526aaf5e3635 for arm.
configure: Move inet_aton check into network function check block
configure: Move cpunop into ARCH_EXT_LIST_X86

It is a processor feature, so it belongs there.
configure: Add usan to the toolchain presets

clang-3.4 and gcc-4.9 have it.
avconv: Do not divide by zero
h264: Lower bound check for slice offsets

And use the value from the specification.

Sample-Id: 00000451-google
Found-by: Mateusz j00ru Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Merge commit '982b596ea6640bfe218a31f6c3fc542d9fe61c31'

* commit '982b596ea6640bfe218a31f6c3fc542d9fe61c31':
  h264: avoid undefined behavior in chroma motion compensation

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

* commit 'ef010f08ae53479c54e2f16be5a7e1a809a9e268':
  dca: replace some memcpy by AV_COPY128

See: 5a48caa34b0c2a2641ea3bd522802fa1df2c8866
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '996697e266c8adc0ad9b7fc7568406c7529c97cf'

* commit '996697e266c8adc0ad9b7fc7568406c7529c97cf':
  x86: float dsp: unroll SSE versions

See: 133b34207c2ca3ae214dfd429288ac6e31efa5dc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '9c029f67ca82147ddfa83a1546ee1e109e11fbd4'

* commit '9c029f67ca82147ddfa83a1546ee1e109e11fbd4':
  aarch64: use EXTERN_ASM consistently for exported symbols

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

* commit '6adf4290ebcf65ac8243d74f34ba0a508f561633':
  configure: Move inet_aton check into network function check block

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

* commit '2b0bb69997c2416e74f41aa1400ce983bf8775c0':
  configure: Move cpunop into ARCH_EXT_LIST_X86

Conflicts:
	configure

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

* commit 'd6a27f885b5d4cba7a82e50af423c741d2f37c3e':
  configure: Add usan to the toolchain presets

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

* commit '5c79d2e12d13959fc6aed92d102c25194a06de05':
  avconv: Do not divide by zero

Conflicts:
	ffmpeg.c

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

* qatar/master:
  h264: Lower bound check for slice offsets

Conflicts:
	libavcodec/h264.c

See: 91253839e14cce9793ee93f184cef609ca8195d5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
avcodec: fix dxva2 & vaapi after removing the +52 offset from the loop filter parameters

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/h264: fix sign error

regression since f777504f640260337974848c7d5d7a3f064bbb45

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