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.
Fix opencv detection.

This commit changes the ".so" argument placement in check_ld sub-program.
Merge commit '80ac87c13dc8c6c063e26a464c5c542357c0583f'

* commit '80ac87c13dc8c6c063e26a464c5c542357c0583f':
  lavc: support ZenoXVID custom tag
  libcdio: support recent cdio-paranoia
  float_dsp: Add #ifdef HAVE_INLINE_ASM around vector_fmul_window
  theora: Skip zero-sized headers

Conflicts:
	configure

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

* qatar/master:
  h264: avoid pointless copying of ref lists
  lavr: always reset mix function names and pointers in mix_function_init()
  lavr: call mix_function_init() in ff_audio_mix_set_matrix()
  fate: update ref after rv30_loop_filter fix
  rv30: fix masking in rv30_loop_filter()

Conflicts:
	tests/ref/fate/filter-delogo
	tests/ref/fate/rv30

Merged-by: Michael Niedermayer <michaelni@gmx.at>
h264/get_lowest_part_list_y: remove unneeded operations

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
vf_fade: support YUVA422P & YUVA444P

Signed-off-by: Paul B Mahol <onemda@gmail.com>
golomb: check log validity before shifting

Fixes invalid right shift in fate-cavs

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
doc/filters: avoid @example for showing the drawbox shorthand syntax

Improve overall consistency.
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>