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
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>
Merge commit 'a6a2282c25abe43e352010a7c3fbc92994c0bc1c'

* commit 'a6a2282c25abe43e352010a7c3fbc92994c0bc1c':
  rv30: fix extradata size check.

Conflicts:
	libavcodec/rv30.c

See: 09c5f990bc7629dfbee8c760fd485936c60a7b40
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '5569146d48f06564e8fa393424782cceed510916'

* commit '5569146d48f06564e8fa393424782cceed510916':
  adx: check that the offset is not negative

See: 30bce34b6719ca99ad72c62e2fba3eade71f1eae
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '24057c83207d6ea8bfd824155ac37be8a33dfd0c'

* commit '24057c83207d6ea8bfd824155ac37be8a33dfd0c':
  eacmv: check the framerate before setting it.

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