h264: add MVCD to the list of High profiles in SPS

Also comment all previous profiles.
h264: parse two additional constraint flags
h264: update flag name in ff_h264_decode_ref_pic_list_reordering()

This is the name used in the specifications.
h264: fix clang warning about uninitialized variable
build: Let AMV decoder depend on the SP5X decoder

This codec compiles all of the SP5X code anyway, so there is little
point in not enabling the decoder directly. This also simplifies the
dependency declaration for the AMV decoder.
build: Let all MJPEG-related decoders depend on the MJPEG decoder

These codecs compile all of the MJPEG code anyway, so there is little
point in not enabling the MJPEG decoder directly. This also simplifies
the dependency declarations for the MJPEG codec family.
build: Let the iac decoder depend on the imc decoder

Almost all of the code is shared so there is little point in
enabling one decoder without the other.
build: Let the ffvhuff decoder/encoder depend on the huffyuv decoder/encoder

Almost all of the code is shared so there is little point in
enabling one decoder/encoder without the other.
configure: Set the thread type after resolving dependencies

A threading type might be detected originally, but later disabled
if one of its dependencies is unavailable.

This makes sure that the threading support item in the configure
output is right for setups where w32threads are available but
native atomics aren't.

Signed-off-by: Martin Storsjö <martin@martin.st>
af_compand: replace strtok_r() with av_get_token()
pthread_frame: flush all threads on flush, not just the first one

avcodec_flush_buffers() must release all internally held references
according to its documentation, for which all the threads need to be
flushed.

CC:libav-stable@libav.org
Bug-Id: vlc/9665
qt-faststart: Increase the copy buffer size to 64 KB

Copying data in chunks of 1 KB is a little wasteful.

64 KB should still easily fit on the stack, so there's no need
to allocate it dynamically.

Signed-off-by: Martin Storsjö <martin@martin.st>
qt-faststart: Simplify code by using a MIN() macro

qt-faststart doesn't use the normal libav headers at all since
it's supposed to be a completely standalone tool, so we implement
the macro locally in this file.

Signed-off-by: Martin Storsjö <martin@martin.st>
qt-faststart: Check fseeko() return codes

Signed-off-by: Martin Storsjö <martin@martin.st>
qt-faststart: Fix the signedness of variables keeping the ftello return values

These variables are assigned the return values of ftello, which
returns an off_t, which is a signed type. On errors, ftello returns
-1, thus make sure this error return value can be stored properly.

Signed-off-by: Martin Storsjö <martin@martin.st>
qt-faststart: Check the ftello() return codes

This silences a warning in the coverity static analyzer.

Signed-off-by: Martin Storsjö <martin@martin.st>
qt-faststart: Check offset_count before reading from the moov_atom buffer

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
qt-faststart: Avoid unintentionally sign extending BE_32

Without this cast, the BE_32() expression is sign extended when
assigned to an uint64_t, since the uint8_t|uint8_t expression
is promoted to an int.

Also avoid undefined behaviour when left shifting an uint8_t
by 24 by casting it to an uint32_t explicitly before shifting.

Based on a patch by Michael Niedermayer.

Signed-off-by: Martin Storsjö <martin@martin.st>
qt-faststart: Add a note about the -movflags +faststart feature

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

* commit 'e70ab7c1f5005041bba0e4efc1165410f83495b2':
  h264: add MVCD to the list of High profiles in SPS

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