lavu: add all color-related enums to AVFrame

Signed-off-by: Anton Khirnov <anton@khirnov.net>
libavcodec: set AVFrame colorspace fields on decoding

Signed-off-by: Anton Khirnov <anton@khirnov.net>
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
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>
Support raw dvdsub palette as stored on normal dvd's

This is how the palette is stored on dvd's. Currently
only xbmc passes the palette information to libavcodec
this way.
Check return value of avio_seek and avoid modifying state if it fails

The code still modifies state if the timestamp is not found. Not
sure exactly how to avoid that.
asf hacks
if av_read_packet returns AVERROR_IO, we are done. ffmpeg's codecs might or might not handle returning any completed demuxed packets correctly