movenc: Add a flag for using default-base-is-moof in tfhd atoms

Similarly to the omit_tfhd_offset flag added in e7bf085b, this
avoids writing absolute byte positions to the file, making them
more easily streamable.

This is a new feature from 14496-12:2012, so application support
isn't necessarily too widespread yet (support for it in libav was
added in 20f95f21f in July 2014).

Signed-off-by: Martin Storsjö <martin@martin.st>
Fix disabling libxcb-shm and libxcb-xfixes.
Fix xcbgrab build if shm is not available.
Fix compilation of xcbgrab if xcb/shape.h is not available.

Old versions of libxcb do not provide xcb_shape_rectangles().
The issue can be fixed differently but this small change fixes
some fate platforms and a user reported compilation problem.

Reported and tested by trac user kevmitch.
Fixes ticket #4067.
ffprobe.xsd: add packets_and_frames element definition

This allows validation of ffprobe XML output if -show_packets and
-show_frames are both set.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
avdevice/xcbgrab: Fix offset support

Found-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/cook: check that the subpacket sizes fit in block_align

Fixes out of array read
Fixes: asan_heap-oob_fb5c50_19_018.rmvb
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/svq1dec: zero terminate embedded message before printing

Fixes out of array access
Fixes: asan_stack-oob_49b1e5_10_009.mov
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/dxtory: use unaligned copy for unaligned addresses

Fixes undefined behavior
Fixes: asan_heap-oob_112c6b3_13_012.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
movenc: Write a 0 duration in mdhd and tkhd for an empty initial moov

ISO/IEC 14496-12:2012/Cor 1:2013 is explicit about how this should be
handled. All zeros doesn't mean that the full file has got a zero
duration, only that the track samples described within the initial moov
have got zero duration. An all ones duration means an indeterminate
duration.

Keep writing a duration consisting of all ones for the ISM mode -
older windows media player versions won't play a file if this is
zero. (Newer windows media player versions play either version fine.)

Signed-off-by: Martin Storsjö <martin@martin.st>
movenc: Don't write any tfdt atom for ismv files

The tfdt atom shouldn't be needed in those cases, we already
write tfxd atoms for ismv anyway, which is roughly equivalent.

This avoids having to declare the iso6 brand for ismv files.

Signed-off-by: Martin Storsjö <martin@martin.st>
movenc: Don't write any iso brands in ismv files

We deviate slightly from the iso specs for these files.

Signed-off-by: Martin Storsjö <martin@martin.st>
avcodec/dvbsubdec: merge declaration and init

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/dvbsubdec: use av_freep() to avoid leaving stale pointers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/crystalhd: use av_freep() to avoid stale pointers

this leaves some av_free() where the pointer is overwritten
shortly later

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/cngdec: Use av_freep() to avoid leaving stale pointers in memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/h264_parser: Use av_freep() to avoid leaving stale pointers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
doc: Add documentation for the whitelist options

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

* commit 'cf589faa5b7aed3bb38e08dcd00bd951e69686d1':
  movenc: Add a flag for using default-base-is-moof in tfhd atoms

Conflicts:
	libavformat/version.h

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

* commit '00c67fe1d0bc7c2ce49daac9c80ea39d5a663b73':
  movenc: Write a 0 duration in mdhd and tkhd for an empty initial moov

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