theora: Skip zero-sized headers

This fixes a regression since d9cf5f51 with theora over RTP
(possibly with other variants of theora as well).

In theora over RTP, the second of the 3 headers turns out to be
0 bytes long, which prior to d9cf5f51 worked just fine. After
d9cf5f51, reading from the bitstream reader fails (since the reader
wasn't initialized but returned an error if initialized with 0 bits).

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
float_dsp: Add #ifdef HAVE_INLINE_ASM around vector_fmul_window

This fixes builds on 64bit MSVC.

Signed-off-by: Martin Storsjö <martin@martin.st>
libcdio: support recent cdio-paranoia

Upstream decided to split the paranoia interface and move the headers
accordingly.
lavc: support ZenoXVID custom tag

Looks like this kind of samples are produced by certain Russian
equipment.
rv30: fix masking in rv30_loop_filter()

The mask `x && (1 << y)' is incorrect and always yields true.

The correct form should be `x & (1 << y)'.

CC: libav-stable@libav.org

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
fate: update ref after rv30_loop_filter fix
lavr: call mix_function_init() in ff_audio_mix_set_matrix()

This is needed if a custom matrix is set by the user after opening the
AVAudioResampleContext because the matrix channel count can change if
different mixing coefficients are used.

CC:libav-stable@libav.org
lavr: always reset mix function names and pointers in mix_function_init()

CC: libav-stable@libav.org
h264: avoid pointless copying of ref lists

ref_list is constructed from other fields per slice when needed, so do
not copy it for both frame and slice threading.
default_ref_list is constructed per frame and still needs to be copied
to per-slice contexts for slice threading, but a copy is not needed for
frame threading.
configure: Run SHFLAGS through ldflags_filter()

These flags are as linker-specific as other LDFLAGS and thus
need to be translated to the correct linker syntax.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
x86inc: Rename "program_name" to "private_prefix"

The new name is more descriptive and will allow defining a separate
public prefix for externally visible library symbols.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
x86inc: Add cvisible macro for C functions with public prefix

This allows defining externally visible library symbols.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
x86: Add a Yasm-based emms() replacement

This provides a fallback when building with Yasm enabled, but neither
inline assembly, nor the _mm_empty intrinsic are available or enabled.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
x86: dsputil: Drop some unused macro definitions
dvdsubdec: parse the size from the extradata

Signed-off-by: Alexandra Khirnova <alexandra.khirnova@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Move vorbis_inverse_coupling from dsputil to vorbisdspcontext.

Conveniently (together with Justin's earlier patches), this makes
our vorbis decoder entirely independent of dsputil.

(Untested on ppc.)
Convert vorbisdsp x86 functions from inline asm to yasm.
Change block_size type from int to intptr_t.

This saves one instruction in the x86-64 assembly.
vp3: integrate clear_blocks with idct of previous block.

This is identical to what e.g. vp8 does, and prevents the function call
overhead (plus dependency on dsputil for this particular function).

Arm assembly is unconverted because I don't understand too much of it.
Move vector_fmul_add from dsputil to avfloatdsp.