h264: check for luma and chroma bit dept being equal

The decoder assumes a single bit depth for all the planes
while the specification allows different bit depths for luma
and chroma.

Avoid the possible problems described in CVE-2013-2277

CC: libav-stable@libav.org
vorbisdec: check memory allocations
shorten: set invalid channels count to 0

Prevent the loop shorten_decode_close from writing and freeing out of
the array boundary.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
shorten: use the unsigned type where needed

get_uint returns an unsigned value, use an unsigned to store
blocksize to make sure the comparison logic is correct and report
correctly the error for the channel count not supported.
shorten: K&R formatting cosmetics
shorten: report meaningful errors
avcodec/internal: Fix #if DECODE_AUDIO / ENCODE_AUDIO name mismatch
lavc: Split out ff_hwaccel_pixfmt_list_420[] over individual codecs

Not all hwaccels implement all codecs, so using one single list for
multiple such codecs means some codecs will be represented in the list,
even though they don't actually handle that codec. Copying specific
lists in each codec fixes that.

Signed-off-by: Martin Storsjö <martin@martin.st>
cavs: Add a dependency on h264chroma

This fixes standalone building of this decoder.

Signed-off-by: Martin Storsjö <martin@martin.st>
avconv: Make sure the encoder exists before inspecting supported_list

This fixes crashes when there is no encoder for the default codec of
selected format.

Signed-off-by: Martin Storsjö <martin@martin.st>
Merge commit 'c10da30d8426a1f681d99a780b6e311f7fb4e5c5'

* commit 'c10da30d8426a1f681d99a780b6e311f7fb4e5c5':
  shorten: set invalid channels count to 0
  vorbisdec: check memory allocations
  h264: check for luma and chroma bit dept being equal

Conflicts:
	libavcodec/shorten.c

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

* commit 'a2ad554def214d2d03b7c16f68dc081a8622f9ca':
  shorten: K&R formatting cosmetics

Conflicts:
	libavcodec/shorten.c

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

* commit '4c364eb2b856fc33cf7b42f7c7b979e69fde5f3a':
  shorten: report meaningful errors

Conflicts:
	libavcodec/shorten.c

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

* commit '5a4e9fe855282a99586050a507d0a486ad39df5b':
  avcodec/internal: Fix #if DECODE_AUDIO / ENCODE_AUDIO name mismatch
  shorten: use the unsigned type where needed

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

* commit '5da51284937649a8ebb84fa951c235438fcbf8ae':
  cavs: Add a dependency on h264chroma
  lavc: Split out ff_hwaccel_pixfmt_list_420[] over individual codecs

Conflicts:
	libavcodec/h263dec.c
	libavcodec/h264.c
	libavcodec/mpeg12.c

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

* qatar/master:
  avconv: Make sure the encoder exists before inspecting supported_list

Merged-by: Michael Niedermayer <michaelni@gmx.at>
lavu: add escape API

The escape API will be useful to perform escaping programmatically, which
is required when crafting argument strings, and will be used for context
printing as well.

This is based on the ffescape tool code, with a few extensions and fixes.
doc/texi2pod: fix @ref substitution rule, disallow "}" within the fields

Fix potential spurious substitution.
lavf/segment: add support to ffconcat segment list
libavcodec: changed mathematical functions in aacpsy.c

This patch changes existing mathematical functions with faster
ones. Speeds up encoding more than 10%. Tested on x86 and
MIPS platforms.

Signed-off-by: Bojan Zivkovic <bojan@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>