fate: image: Add dependencies
AAC SBR: use AVFloatDSPContext's vector_fmul

Around 5% speedup on the code block using 'vector_fmul_add's.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
SBR DSP x86: implement SSE sbr_hf_gen

Start and end index are multiple of 2, therefore guaranteeing aligned access.
Also, this allows to generate 4 floats per loop, keeping the alignment all
along.

Timing:
- 32 bits: 326c -> 172c
- 64 bits: 323c -> 156c

Signed-off-by: Diego Biurrun <diego@biurrun.de>
fate: dpcm: Add dependencies
flac: change minimum and default of lpc_passes option to 1

Avoid use of uninitialized and uncomputed linear least square models
during ff_lpc_calc_coefs() for FF_LPC_TYPE_CHOLESKY. Fixes running
make fate-flac-16-lpc-cholesk with valgrind --undef-value-errors=yes.
mov: compute avg_frame_rate only if duration is known

Fixes an assert in fuzzed sample sample.mp4_s265930.
mov: validate number of DataReferenceBox entries against box size

Avoids a 2G memory allocation and parsing of random data in
mov_read_dref(). The fuzzed sample sample.mp4_s224424 triggers this.
h264: check sps.log2_max_frame_num for validity

Fixes infinite or long taking loop in frame num gap code in
the fuzzed sample bipbop234.ts_s223302.

CC: libav-stable@libav.org
h264: add a pointer for weighted prediction temporary buffer

Reusing MpegEncContext's obmc_scratchpad for this becomes a mess with
adaptive frame-mt.
avpicture: Don't assume a valid pix fmt in avpicture_get_size

When called from the v4l2 input device, pix_fmt can be
AV_PIX_FMT_NONE (for jpeg formats). Before 50ba57e0, this wasn't
an issue for avpicture_get_size, but after that commit, this
lead to crashes.

Signed-off-by: Martin Storsjö <martin@martin.st>
arm: fix use of uninitialised value in ff_fft_fixed_init_arm()

When initialising an FFTContext for a plain FFT, mdct_bits is not set
and can contain a garbage value.  Since nbits is always valid and for
MDCT operation is mdct_bits - 2 checking this instead avoids using an
uninitialised value while having the same effect.

Signed-off-by: Mans Rullgard <mans@mansr.com>
snow: fix build after 594d4d5df3c70404168701dd5c90b7e6e5587793
dct-test: arm: indicate required cpu features for optimised funcs

Signed-off-by: Mans Rullgard <mans@mansr.com>
configure: do not bypass cpuflags section if --cpu not given

This will allow arch-specific ways of determining the target
variant when none is specified on the command line.

Signed-off-by: Mans Rullgard <mans@mansr.com>
configure: arm: detect toolchain default arch version

Probe for the toolchain default architecture version if no --cpu flag
is present or an unknown cpu is specified.  Works with gcc, clang and
armcc.

This allows configuring based on the arch version even if it is not
explicitly specified to configure.  It also causes an explicit -march
flag to be added to CFLAGS and ASFLAGS, which in turn lets us do
proper instruction set tests with the assembler.

Signed-off-by: Mans Rullgard <mans@mansr.com>
configure: arm: set fast_clz and fast_unaligned in cpuflags section

These are properties of the targeted core and do not depend on
specific assembly support in the toolchain which if missing will
render the controlling options here disabled.

Signed-off-by: Mans Rullgard <mans@mansr.com>
configure: clean up check_inline_asm and check_as functions

The check_inline_asm function should check the actual C compiler,
not the one used for assembly files.  Usually these are the same,
but they might be different, typically when using a compiler other
than gcc.

The check_as should, as its name suggests, test the type of input
the AS command is used with, i.e. a standalond assembly (.S) file.

Finally, check for gnu assembler using the modified check_as as
this reflects actual usage.

Signed-off-by: Mans Rullgard <mans@mansr.com>
configure: add check_insn function

The check_insn function tests an instruction in both inline asm and
standalone assembly, and sets _external/_inline config properties
accordingly.

Signed-off-by: Mans Rullgard <mans@mansr.com>
configure: arm: check inline and external asm support for extensions

This tests instruction set support in both inline and external asm.
If both fail, the base config option is disabled.

Signed-off-by: Mans Rullgard <mans@mansr.com>
arm: use HAVE*_INLINE/EXTERNAL macros for conditional compilation

These macros reflect the actual capabilities required here.

Signed-off-by: Mans Rullgard <mans@mansr.com>