mpegvideo: set reference/pict_type on generated reference frames

Otherwise the generic code will unref them, which can then result in
last_picture_ptr == current_picture_ptr, which causes deadlocks at least
in rv40.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
rv30: fix extradata size check.

It has been checking the number of bits in the offset instead of the
actual offset.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
adx: check that the offset is not negative

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
eacmv: check the framerate before setting it.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
mathematics: remove asserts from av_rescale_rnd()

It is a public function, it must not assert on its parameters.
pmpdec: check that there is at least one audio packet.

The code cannot handle there being none, but that should not happen for
valid files.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
lzw: switch to bytestream2

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
h264: reset data_partitioning if decoding the slice header for NAL_DPA fails

If it was set before then we can end up trying to decode a slice without
a valid slice header, which can lead to invalid memory access.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
audio_mix: initialize the data pointers to NULL

This should make it easier to catch problems where some of those
pointers are used uninitialized, since reading from NULL should always
crash, while random numbers from stack can turn out to be valid
pointers, so random memory may be silently overwritten.
audio_mix: fix zeroing output channels in certain cases

Specifically, when the corresponding input channel exists and its matrix
column is all-zero (which is necessary for zeroing the output), the
matrix column must be removed from the matrix.

This is not done currently, so the mixing code would end up using
uninitialized pointers from stack.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
audio_mix: print (SKIP) instead of 0.0 for matrix columns removed along with output zeroing
tests/Makefile: allow FILTER* to be called with lists of filter names
FATE: add a test for the lavr mixing case fixed in fc6a3ef40d34ce8443ae57c2452f3f273d7d4891
mpegvideo: split the encoding-only parts of frame_start() into a separate function

This introduces some code duplication. However, much of it should go
away once the decoders stop using MpegEncContext.
mpegvideo: move dct_unquantize functions up to avoid forward declarations
mpegvideo: remove disabled bfin asm

It has been disabled as 'broken' over 3 years ago in b716a792
avutil/mathematics: fix 2 typos in the doxy

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/mpegvideo: fix ac/dc_val and coded_block table sizes

With interlaced vc1 it was possible that accesses could happen outside these
tables before this.

Regression since 017e234c204f8ffb5f85a073231247881be1ac6f
Reproduced with a sample from Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Fixes (again) : 480i30__codec_WVC1__mode_2__framerate_29.970__type_2__preproc_17.SIGFPE.bfa.390.wmv
No releases are affected by this

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avformat/utils: fix order of buffers in timestamp update code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit 'feded990e3ef9af4a0b827d5b6d8fe86f0b94942'

* commit 'feded990e3ef9af4a0b827d5b6d8fe86f0b94942':
  mpegvideo: set reference/pict_type on generated reference frames

Conflicts:
	libavcodec/mpegvideo.c

The picture type is left at P type as it was explicitly set before

Merged-by: Michael Niedermayer <michaelni@gmx.at>