h264: prevent decoding of slice NALs in extradata

It is not posible to call get_buffer during frame-mt codec
initialization. Libavformat might pass huge amounts of data as
extradata after parsing broken files. The 'extradata' for the fuzzed
sample sample_varPAR_s5374_r001-02.avi is 2.8M large and contains
multiple slices.
h264: use mbaff ref indices in fill_colmap() only for mbaff references

Prevents writing beyond array bounds.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
configure: formatting cosmetics
misc typo, style and wording fixes
h264: increase dist_scale_factor for up to 32 references

Compute dist_scale_factor_field only for MBAFF since that is the only
case in which it is used.
ff_h264_direct_ref_list_init: fix B slice check.

Fixes null pointer dereference.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
mpegvideo: allocate scratch buffers after linesize is known

Since we can't know which stride a custom get_buffer() implementation is
going to use we have to allocate this scratch buffers after the linesize
is known. It was pretty safe for 8 bit per pixel pixel formats since we
always allocated memory for up to 16 bits per pixel. It broke hoever
with cmdutis.c's alloc_buffer() and high pixel bit depth since it
allocated larger edges than mpegvideo expected.

Fixes fuzzed sample nasa-8s2.ts_s244342.
h264: support frame parameter changes during frame-mt

Fixes CVE-2012-2782.
cmdutils: add a macro to simplify grow_array() calls.
cmdutils: split parse_option().

Separate the code that searches for the option to use and the code that
actually writes it. The writing code will be reused by the new options
parser.
cmdutils: add a commandline pre-parser.

It splits the commandline into a more convenient internal representation
for further parsing.

This will allow e.g.
- processing global options first independently of their location on the
  commandline, eliminating ugly hacks for processing e.g. cpuflags
  first
- better options validation and error reporting. It is now possible for
  the parser to know that it's applying an input option to an output
  file or vice versa and act accordingly.
cmdutils: don't log an error in opt_default().

It results in spurious errors when using the new preparser.
avconv: use new options parser.
avconv: pass the actually selected decoder to filter_codec_opts().
avcodec: bump minor for adaptive h264 frame-mt

Also adds forgotten Changelog entry.
lavc: merge latest x86inc.asm fixes with x264

Unbreak NASM support.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
mpegvideo: increase edge_emu_buffer size for VC1

The VC1 decoder uses edge_emu_buffer simultaneously for luma and chroma
and needs more space. That was not a problem before f1d8763a02b5fce
since the size for edge_emu_buffer was always calculated with 2 byte per
pixel since the linesize was not known.

Fixes occasionally fate errors in vc1_sa10143.
h264: fix sps parsing for SVC and CAVLC 4:4:4 Intra profiles

Fixes bug 396.

CC: libav-stable@libav.org
mov: handle h263 and flv1 for codec_tag 'H','2','6','3'

The sample in https://bugzilla.libav.org/show_bug.cgi?id=393 and
samples/F4V/H263_NM_f.mp4 both have codec_tag H263 for different
codecs. H263 is apparently used by Flash Media Server for Sorensen
Spark videos.

Patch based on commit 5442083b1c541dd166b3adf39131259fc846a62b by
Carl Eugen Hoyos. Fixes bug 393.
cmdutils: pass number of groups to split_commandline().

This makes the code simpler and avoids mixing designated and
non-designated initializers in a potentially unsafe way in avconv.