configure: Check whether MSVC requires using the C89-to-C99 converter

MSVC does support enough of C99 to work without the converter since
the 2013 version. Try to detect which version of the compiler in
the path needs to run the C99 converter or not. When the converter
is omitted, compilation time is reduced quite drastically.

Prior to this, users could still use --cc="c99conv -noconv cl"
when running MSVC 2013 to achieve the same.

This checks the version number instead of doing a normal compile
test, since this check needs to be done earlier in configure, before
the normal compile test helpers are usable.

Signed-off-by: Martin Storsjö <martin@martin.st>
Remove all Alpha architecture optimizations

Alpha has been end-of-lifed and no more test machines are available.
Deprecate obsolete XvMC hardware decoding support

XvMC has long ago been superseded by newer acceleration APIs, such as
VDPAU, and few downstreams still support it. Furthermore XvMC is not
implemented within the hwaccel framework, but requires its own specific
code in the MPEG-1/2 decoder, which is a maintenance burden.
Merge commit '16381923fb7b9087ce559fb1cd3594469ac6788b'

* commit '16381923fb7b9087ce559fb1cd3594469ac6788b':
  configure: Check whether MSVC requires using the C89-to-C99 converter

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit 'c7f7bfc9e3a3150ba72bc34366c13fb2210c66ac'

* commit 'c7f7bfc9e3a3150ba72bc34366c13fb2210c66ac':
  Remove all Alpha architecture optimizations

Conflicts:
	libavcodec/alpha/asm.h
	libavcodec/alpha/dsputil_alpha.c
	libavcodec/alpha/dsputil_alpha.h
	libavcodec/alpha/dsputil_alpha_asm.S
	libavcodec/alpha/hpeldsp_alpha.c
	libavcodec/alpha/hpeldsp_alpha.h
	libavcodec/alpha/hpeldsp_alpha_asm.S
	libavcodec/alpha/motion_est_alpha.c
	libavcodec/alpha/motion_est_mvi_asm.S
	libavcodec/alpha/mpegvideo_alpha.c
	libavcodec/alpha/regdef.h
	libavcodec/alpha/simple_idct_alpha.c

We have a qemu based fate alpha client. And various failures
on alpha have previously pointed to issues in generic C code.
Thus IMHO it makes sense to keep alpha code as long as someone
is willing to do the little bit of maintaince it needs

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

* qatar/master:
  Deprecate obsolete XvMC hardware decoding support

Conflicts:
	libavcodec/mpeg12.c
	libavcodec/mpeg12dec.c
	libavcodec/mpegvideo.c
	libavcodec/options_table.h
	libavutil/pixdesc.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
mpegvideo: Fix swapping of UV planes for VCR2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
mpeg12dec: Remove incomplete and wrong UV swapping code for VCR2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
fate: Add VCR2 test

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
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.
doc/libavutil: add things from avutil.txt

Many minor fixes from: Stefano Sabatini <stefasab@gmail.com>.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
doc: remove avutil.txt

No useful contents. Also hard to keep up-to-date.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
h264: Do not treat the initial frame special in handling of frame gaps

The not handling of frame gaps has lead to the lack of a dummy reference
frame, which has lead to the failure of decode_slice_header() which has
lead to one SEI recovery message being skiped which had introduced a
slightly suboptimal recovery point for at least 1 h264 file compared to
JM.

Found-by: Carl & BugMaster
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
mpeg12dec: Remove unused swap_uv member from Mpeg1Context