mov: Free intermediate arrays in the normal cleanup function

These arrays are normally freed at the end of mov_read_trak,
but make sure they're freed in case mov_read_trak returned
early (due to errors) or in case the atoms that allocate arrays
are encountered at some other point than within a trak (which
we don't have checks against).

Sample-Id: 00000496-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
mov: Free an earlier allocated array if allocating a new one

It could probably also be considered an error if the pointer isn't
null at this point, but then we might risk rejecting some
slightly broken files that we might have handled so far.

Sample-Id: 00000496-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
dct-test: test ff_simple_idct_neon only on ARM for now

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
aarch64: add cpuflags support for NEON and VFP

NEON and VFP are currently mandatory for all ARMv8 profiles. Both are
handled as extensions as far as cpuflags are concerned. This is
consistent with handling x86_64 which always has SSE2, but still
handles it as an extension.
aarch64: h264 chroma motion compensation NEON optimizations

Since RV40 and VC-1 use almost the same algorithm so optimizations for
those two decoders are easy to do and included.
aarch64: h264 idct NEON assembler optimizations

Ported from ARMv7 NEON.
aarch64: h264 qpel NEON optimizations

Ported from ARMv7 NEON.
aarch64: hpeldsp NEON optimizations

Ported from ARMv7 NEON.
aarch64: h264 loop filter NEON optimizations

Ported from ARMv7 NEON.
aarch64: h264 (bi)weight NEON optimizations

Ported from ARMv7 NEON.
aarch64: port neon clobber test from arm
Merge commit 'd51f09962d5b4bc999fb70c040f330dd1873212e'

* commit 'd51f09962d5b4bc999fb70c040f330dd1873212e':
  mov: Free intermediate arrays in the normal cleanup function

Conflicts:
	libavformat/mov.c

See: a6b3e6d0b49b47c9b874e59b88a8051af338f520
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '2620df13104ddaa136158eb6bb1195adbf9d7692'

* commit '2620df13104ddaa136158eb6bb1195adbf9d7692':
  mov: Free an earlier allocated array if allocating a new one

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

* commit '1e9265cd8f0821acbeca1db437be1361a3976b85':
  dct-test: test ff_simple_idct_neon only on ARM for now

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

* commit 'b7b17ed66e199afc7246e642bf3b35c3f8eca217':
  aarch64: add cpuflags support for NEON and VFP

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

* commit '71617884a2a673908bd5c0f73d4f91fdca3da82a':
  aarch64: h264 chroma motion compensation NEON optimizations

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

* commit '8438b3f09f6b225d0886cc385117c38eb44ca0c1':
  aarch64: h264 idct NEON assembler optimizations

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

* commit 'd5dd8c7bf0f0d77c581db3236e0d938f06fd5591':
  aarch64: h264 qpel NEON optimizations

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

* commit 'c65d67ef50241886b9749e88fd333c52090f70c7':
  aarch64: hpeldsp NEON optimizations

Conflicts:
	libavcodec/hpeldsp.c
	libavcodec/hpeldsp.h

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

* commit '36e3b1f2fd262028834a9d7b1eb533c1218ee6c2':
  aarch64: h264 loop filter NEON optimizations

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