vdpau: add a convenience function for getting a decoder profile.

Based on the code by Rémi Denis-Courmont <remi@remlab.net> from VLC.
vdpau: add a constructor for AVVDPAUContext.

We will likely want to add new fields to it in the future, so this is
needed to avoid breaking ABI.
lavc: make error_rate a private option of mpegvideo encoders
lavc: schedule unused FF_QSCALE_TYPE_* for removal on next bump
lavc: move MB_TYPE_* macros from avcodec.h to mpegvideo.h

They are mpegvideo-specific and not supposed to be used by callers.
lavc: deprecate FF_MAX_B_FRAMES

We should not arbitrarily decide the maximum B-frame number for all
encoders supported by Libav, each encoder should be able to set its own
limits.
Move av_fast_{m,re}alloc from lavc to lavu.
mpeg12dec: Remove unused swap_uv member from Mpeg1Context
metasound: add missing modes

Signed-off-by: Diego Biurrun <diego@biurrun.de>
twinvq: support multiple frames per packet

Signed-off-by: Diego Biurrun <diego@biurrun.de>
twinvq: consume block_align+1 packets as full ones

They can be produced by VQF.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
mpeg12dec: Remove outdated UV swapping code for VCR2
mxfdec: update current edit unit when seeking in mxf files without index tables

Fixes audio packet pts values in some files generated by AVID TRMG 3.01.

Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
lavf: improve support for AVC-Intra files.

Generate extradata with SPS/PPS based on container dimensions.

Authors of this commit are: Reimar and Thomas Mundt

Signed-off-by: Anton Khirnov <anton@khirnov.net>
h264: free the tables and uninitialize the context on flush

Prevents referencing empty frames when the first packet after the flush
does not contain a frame.
build: Allow specifying extra object files when linking HOSTPROGS
dv: Split DV data table declarations into their own header

This is necessary to avoid target config settings bleeding into the host
compilation process with hardcoded tables and the DV VLC tables no longer
present as static tables in a header file.
lavc: Edge emulation with dst/src linesize

Allow supporting files for which the image stride is smaller than
the maximum block size + number of subpel mc taps, e.g. a 64x64 VP9
file or a 16x16 VP8 file with -fflags +emu_edge.
lavc: VP9 decoder

Originally written by Ronald S. Bultje <rsbultje@gmail.com> and
Clément Bœsch <u@pkh.me>

Further contributions by:
Anton Khirnov <anton@khirnov.net>
Diego Biurrun <diego@biurrun.de>
Luca Barbato <lu_zero@gentoo.org>
Martin Storsjö <martin@martin.st>

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
lavc: deprecate CODEC_CAP_NEG_LINESIZES

It was never used in any codec since it was added 3 years ago.