imgutils: make systematic palette opaque.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
vf_format: rework format list parsing

Avoid using AV_PIX_FMT_NB, since that hardcodes the number of pixel
formats into lavfi and will break when a shared lavu is updated, adding
new pixel formats.
vf_scale: use the pixfmt descriptor API

Avoid using AV_PIX_FMT_NB, since that hardcodes the number of pixel
formats into lavfi and will break when a shared lavu is updated, adding
new pixel formats.
vf_fieldorder: avoid using AV_PIX_FMT_NB

That hardcodes the number of pixel formats into lavfi and will break
when a shared lavu is updated, adding new pixel formats.
buffersrc: avoid using AV_PIX_FMT_NB

That hardcodes the number of pixel formats into lavfi and will break
when a shared lavu is updated, adding new pixel formats.
lavfi/formats: avoid using AV_{PIX,SAMPLE}_FMT_NB

Thatt hardcodes the number of formats into lavfi and will break when a
shared lavu is updated, adding new formats.
on2avc: Remove pointless dsputil.h #include
h264_picture: Remove pointless dsputil.h #include
dsputil: Split off HuffYUV decoding bits into their own context

Also shorten HuffYUV context member names to avoid clutter.
dsputil: Split off HuffYUV encoding bits into their own context

Also shorten HuffYUV context member names to avoid clutter.
oggenc: Move ogg_write_pages up above ogg_write_header

Signed-off-by: Martin Storsjö <martin@martin.st>
oggenc: Flush after writing headers

Before, header information for ogg format files was sent with the
first encoded packet.

This patch makes it so that it is possible for API users to
differentiate between headers and encoded audio. This is useful, for
example, when creating an audio stream where you want to send one set
of headers for every client that connects and then the encoded stream
of audio.

Signed-off-by: Martin Storsjö <martin@martin.st>
flacdec: do not overwrite a channel layout set by the caller

The channel layout mask for non-standard layouts is typically stored at
the container level (as a vorbiscomment tag) for FLAC.
flac demuxer: parse the WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag

It is used to store the channel mask for non-standard layouts.
flac muxer: write WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag for multichannel files
flac: make avpriv_flac_parse_block_header() inline

This avoids all the ABI troubles associated with avpriv_.
Since this function is very small and does not depend on any tables,
making it inline should have no adverse effects.
matroskadec: split parsing tracks into a separate function
matroskadec: export just the STREAMINFO block as FLAC extradata

It contains all information that is used by the decoder and the other
FLAC-capable demuxers (flacdec, ogg) export only STREAMINFO as well.
matroskadec: parse the channel layout mask for FLAC

It is commonly stored in a vorbiscomment block in codec private data.
vorbiscomment: simplify API by using av_dict_count()