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>
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>
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>
Merge commit 'c55d1d382cd41345a79782ace41f9b43f45dca9a'

* commit 'c55d1d382cd41345a79782ace41f9b43f45dca9a':
  movenc: Don't write any tfdt atom for ismv files

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

* commit 'aae6b3b918b4133b8cc2d1631196c1d406d0351a':
  movenc: Don't write any iso brands in ismv files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
configure: fix escaping in xcb cflags / libs

Fixes build with open64

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
doc: document -dump_separator

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
doc/formats: document libavformats bitexact flag

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
lavd/alsa: implement get_device_list callbacks

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
ffserver_config: postpone codec context creation

So far AVCodecContext was created without codec specified.
This causes internal data to not be initialized to defaults.

This commit postpone context creation until all information is gathered.

Partially fixes #1275
ffserver_config: fix compilation warning

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
avcodec/parser: use av_freep() to avoid leaving stale pointers in memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/pthread_frame: Simplify code by using av_reallocp_array()

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
mpeg4vdpau: Fix priv data size.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
avformat/rtpdec_h261: code aligned to the HEVC code

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