lavc: add an option to enable side data-only packets during encoding

Some encoders (e.g. flac) need to send side data when there is no more
data to be output. This enables them to output a packet with no data in
it, only side data.
flacenc: send final extradata in packet side data
flac muxer: accept only STREAMINFO extradata

The other format (full flac header blocks) should not be exported by any
demuxers anymore.

This allows to drop an avpriv_ function and also simplify the following
commits.
flac muxer: support reading updated extradata from side data
avconv: do not use the stream codec context for decoding
avconv: do not use the stream codec context for encoding
Move Indeo4 frametypes into common header.

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Decode both parts of Indeo4 IP frames

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Merge commit 'd2ef708c95ace2518deffe830a9c439aeb9edd5d'

* commit 'd2ef708c95ace2518deffe830a9c439aeb9edd5d':
  matroskaenc: Allow VP9 and Opus in webm

Conflicts:
	libavformat/matroskaenc.c

See: 820ffaed0f64b7ec27275d093c6f81e181c86e94
Merged-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/cljr: require (v)strict -1 to use width %4 != 0

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

* commit '8c02adc62d71dfbb079a04753d8c16152c49de88':
  lavu: add all color-related enums to AVFrame

Conflicts:
	libavcodec/avcodec.h
	libavutil/frame.c
	libavutil/frame.h
	libavutil/version.h

The version check is changed so they are available with the current ABI
FFmpeg libs should have no problems with added fields, nor should any
application using the libs, and we regularly added fields in the past.
We also moved 2 of these fields to AVFrame already previously without issues.

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

* commit 'eb800f120d2d42590fde2302fe828c847e41e773':
  libavcodec: set AVFrame colorspace fields on decoding

Conflicts:
	libavcodec/utils.c

See: a80e622924c89df69fb1c225ba432fe12fe6648e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '0957b274e312e985d69cb490bee2a7ff820acaa6'

* commit '0957b274e312e985d69cb490bee2a7ff820acaa6':
  lavc: add an option to enable side data-only packets during encoding

Conflicts:
	libavcodec/avcodec.h
	libavcodec/options_table.h
	libavcodec/version.h

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

* commit 'ed39cda02923316b6710c1bcc34d3445370be5b4':
  flacenc: send final extradata in packet side data

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

* commit '0097cbea695e534fce39958ccd103af2fbf65831':
  flac muxer: accept only STREAMINFO extradata

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

* commit 'e19d48dfce52f1417f7f06143b96fed00cbcdc52':
  flac muxer: support reading updated extradata from side data

Conflicts:
	libavformat/flacenc.c

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

* commit '41776ba9c0ebbb71394cefdf7dd1b243e6c852d5':
  avconv: do not use the stream codec context for decoding

Conflicts:
	ffmpeg.c
	ffmpeg_filter.c
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
ffmpeg: copy b frame codec delay back from decoder to demuxer

The demuxer needs this value to generate correct timestamps in some corner cases
Ideally the parser would always set this correctly, but some parsers lac support
for extracting this value, also its not trivial.
This fixes a regression

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ffmpeg: replace remaining, ffmpeg specific ist->st->codec by ist->dec_ctx

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ffmpeg: add note about why has_b_frame is copied and when it can be removed

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