mem: Add av_realloc_array and av_reallocp_array

These help avoiding overflows and simplify error handling.

Signed-off-by: Martin Storsjö <martin@martin.st>
movenc: Keep track of the allocated size for the cluster array

When writing fragmented mp4, the cluster array is reset when a
fragment is written. Instead of starting off reallocating the
array only based on the number of current elements in it, keep
track of how many elements there were allocated earlier.

This avoids reallocating this array needlessly when writing
fragmented mp4 files.

Bug-Id: 525
Signed-off-by: Martin Storsjö <martin@martin.st>
movenc: Increase the cluster array allocation by doubling

The previous allocation increment of 16384 meant that the cluster
array was allocated for 0.6 MB initially, which is a bit excessive
for cases with fragmentation where only a fraction of that ever
actually is used.

Therefore, start off at a much smaller value, and increase by
doubling (to avoid reallocating too often when writing long
non-fragmented mp4 files).

Bug-Id: 525
Signed-off-by: Martin Storsjö <martin@martin.st>
movenc: Grow the frag_info array in chunks

Previously it was grown one element at a time, which leads to
excessive reallocations.

Bug-Id: 525
Signed-off-by: Martin Storsjö <martin@martin.st>
network: uniform ff_listen_bind and ff_listen_connect

Document the functions and have both use a millisecond timeout and
check for interrupt.
lavfi doxy: improve/extend AVFilter doxy.
avconv: check that the output format context exists before accessing it

Fixes a segfault in exit_program() if opening an output file fails.
apetag: use int64_t for filesize

CC: libav-stable@libav.org
Merge commit '3b4feac1ec14f861bdd7f494f288f4d8dd7f449e'

* commit '3b4feac1ec14f861bdd7f494f288f4d8dd7f449e':
  movenc: Keep track of the allocated size for the cluster array
  mem: Add av_realloc_array and av_reallocp_array

Conflicts:
	doc/APIchanges
	libavformat/movenc.c
	libavutil/mem.c
	libavutil/mem.h
	libavutil/version.h

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

* commit 'ab1189766a82a95f108005463cde75f73fcc0ae5':
  movenc: Increase the cluster array allocation by doubling

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

* commit '7c020e1ad37d27c9d5db4d714401f09c80e3cc44':
  movenc: Grow the frag_info array in chunks

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

* commit '9835abb6d63fb07613994ae90e72fef758149408':
  network: uniform ff_listen_bind and ff_listen_connect

Conflicts:
	libavformat/network.c
	libavformat/tcp.c

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

* commit '8b7dffc2d6c6c19f8e0a1fedcd0e95dce7a273ff':
  lavfi doxy: improve/extend AVFilter doxy.

Conflicts:
	libavfilter/avfilter.h

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

* commit '274e134e49b1c92db0f0b8cb2ae7554fb7b9184c':
  avconv: check that the output format context exists before accessing it

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  apetag: use int64_t for filesize

Merged-by: Michael Niedermayer <michaelni@gmx.at>
avformat/network: remove unused variable

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avutil/mem: simplify av_reallocp_array() by using av_realloc_f()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avformat/img2dec: timestamps are 64bit

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