lavfi/frei0r: search plugins in lib64 dirs on all architectures

As Reimar Döffinger pointed out there are non-x86 64bit architectures as well.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Marton Balint <cus@passwd.hu>
lavfi/frei0r: factorize plugin loading with static path

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Marton Balint <cus@passwd.hu>
Give IDCT matrix transpose macro a more descriptive name

This also avoids a macro name clash and related warning on ARM.
x86/imdct36: use sse3 instructions in the last BUTTERF step when possible

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  Give IDCT matrix transpose macro a more descriptive name

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

* lukaszmluki/master:
  lavf/ftp: fix seek to nagative position
  lavf/libssh: fix seek to nagative position

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

* cus/stable:
  lavfi/frei0r: factorize plugin loading with static path
  lavfi/frei0r: search plugins in lib64 dirs on all architectures

Merged-by: Michael Niedermayer <michaelni@gmx.at>
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
avcodec/msvideo1: Fix palette in case of seek before decode

Fixes Ticket3212

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
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>