matroskadec: fix incorrect unsigned->signed conversion
matroska: implement support for ALAC

Support Matroska native formatting.

On demuxing reconstruct the 36-bytes QuickTime atom that the ALAC
decoder expects by prepending the "atom size", "tag" and
"tag version" fields missing from the Matroska's CodecPrivate
element.

On muxing remove the initial 12 bytes

Sample files are available:
http://www.bunkus.org/videotools/mkvtoolnix/samples/alac/alac-in-matroska.mka
and the CoreAudio file it was created from with today's mkvmerge:
http://www.bunkus.org/videotools/mkvtoolnix/samples/alac/alac-in-matroska-source.caf

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
matroskadec: split laces parsing
matroskadec: properly support BlockDuration
matroskadec: refactor matroska_decode_buffer

Make MATROSKA_TRACK_ENCODING_COMP_HEADERSTRIP behave like
the other encodings and spare few lines of boilerplate code.
matroskadec: return meaningful errors in matroska_decode_buffer
matroskadec: validate lace_size when parsed

Stricter validation, explicitly exit on misparsing and some error
forwarding from the ebml parsing functions used.
matroska: implement support for ProRes

Support Matroska native formatting.

On demuxing prepend a Frame container atom (32bit big endian encoded
frame size and 'icpf' string).
On muxing remove it.
matroskadec: split frame parsing
mov: support random access point grouping

Frames described by this grouping are the starter of a closed or
an open GOP.
This is useful for open GOP of H.264 stream which is not described
by sync sample atom.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
libx264: add support for nal-hrd, required for Blu-ray streams.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
mp3dec: use named constants for Xing header flags
mp3dec: read Xing frame TOC index
motion_est: fix use of inline on extern functions

Inline functions declared without extern do not provide an external
definition in standard C99.  This code only works because most
compilers do not implement the inline semantics correctly.  With a
stricter compiler, linking fails with unresolved references to these
functions.

Declaring the functions extern inline works correctly with some
compilers while some others still fail to create external definitions.

For maximum portability, create a static inline version with an
externally visible wrapper for ff_get_mb_score.  ff_epzs_motion_search
is so large that no sane compiler inlines it anyway, so there the
inline keyword can simply be dropped with no effect.

Signed-off-by: Mans Rullgard <mans@mansr.com>
lavfi/testsrc: increase precision of the duration parameter

Compute duration in microseconds, rather than in timebase units. Decrease
approximation errors.
lavd/lavfi: push frames until the last sink is EOF

Previously the device was returning EOF when the first sink was ending,
with the current change the device will continue to return frames until
all the sinks are EOF, which seems the most expected behavior.
tests: add fate-ffprobe test
mxfdec: fix index_tables check in mxf_read_seek()

Approved-by: Tjoppen
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
configure: fix git domain check with out of tree build

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '8d4dd55c37b14ecea596f3477b35bf6c20688d8b'

* commit '8d4dd55c37b14ecea596f3477b35bf6c20688d8b':
  matroskadec: refactor matroska_decode_buffer

Conflicts:
	libavformat/matroskadec.c

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