Give IDCT matrix transpose macro a more descriptive name

This also avoids a macro name clash and related warning on ARM.
prores: Use consistent names for DSP arch initialization functions
proresenc: Drop unnecessary DCT permutation bits

No permutation is necessary for the FDCT.
prores: Drop DSP infrastructure for prores encoder bits

None of the encoder bits are arch-optimized.
proresenc: Reuse proper dsputil infrastructure for FDCT
dcadec: remove scaling in lfe_interpolation_fir

The scaling factor is constant so it is faster to scale the
FIR coefficients in the tables during compilation.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
x86: dcadsp: implement SSE lfe_dir

Results for Arrandale/Windows:
32: 1670 -> 316
64:  728 -> 298

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
dcadsp: scan coefficients linearly in dca_lfe_fir

This change is inspired by x86 asm where it frees a register.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
x86: synth filter float: implement SSE2 version

Timings for Arrandale:
          C    SSE
win32:  2108   334
win64:  1152   322

Factorizing the inner loop with a call/jmp is a >15 cycles cost, even with
the jmp destination being aligned.

Unrolling for ARCH_X86_64 is a 20 cycles gain.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
dca: factorize scaling in inverse ADPCM

Based on a patch from Christophe Gisquet.

Unrolling of the m == 0 case avoids a possible use of the uninitilized
value sum when s->predictor_history is not set. I failed to find a
sample for it. It also reduced the cycle count from 220 to 150 on
sandy bridge, x86_64 linux, gcc 4.8.2 compared to his patch.
dcadec: simplify decoding of VQ high frequencies

The vector dequantization has a test in a loop preventing effective SIMD
implementation. By moving it out of the loop, this loop can be DSPized.

Therefore, modify the current DSP implementation. In particular, the
DSP implementation no longer has to handle null loop sizes.

The decode_hf implementations have following timings:

For x86 Arrandale:
        C  SSE SSE2 SSE4
win32: 260 162  119  104
win64: 242 N/A   89   72

The arm NEON optimizations follow in a later patch as external asm. The
now unused check for the y modifier in arm inline asm is removed from
configure.
arm: dcadsp: implement decode_hf as external NEON asm
latm: Always reconfigure if no extradata was set previously

AAC LOAS can have new audio config objects in the stream itself.

Make sure the decoder reconfigures itself when the first one arrives
midstream.

Bug-Id: 644
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
h264: add MVCD to the list of High profiles in SPS

Also comment all previous profiles.
h264: parse two additional constraint flags
h264: update flag name in ff_h264_decode_ref_pic_list_reordering()

This is the name used in the specifications.
h264: fix clang warning about uninitialized variable
build: Let AMV decoder depend on the SP5X decoder

This codec compiles all of the SP5X code anyway, so there is little
point in not enabling the decoder directly. This also simplifies the
dependency declaration for the AMV decoder.
build: Let all MJPEG-related decoders depend on the MJPEG decoder

These codecs compile all of the MJPEG code anyway, so there is little
point in not enabling the MJPEG decoder directly. This also simplifies
the dependency declarations for the MJPEG codec family.
build: Let the iac decoder depend on the imc decoder

Almost all of the code is shared so there is little point in
enabling one decoder without the other.