ffmpeg: add -devices param

FFmpeg mix devices and file formats when -formats option is used.
This commit adds a -devices param to list devices only.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
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()
matroskaenc: write the channel mask for FLAC
ppc: util_altivec: Drop unused macros
Merge commit 'f13ffb6636fdecb5e3e0ddcff48f096e7b3db362'

* commit 'f13ffb6636fdecb5e3e0ddcff48f096e7b3db362':
  flacdec: do not overwrite a channel layout set by the caller

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

* commit 'd6b9ce99ea384fb676561461768b8316725a4ccd':
  flac demuxer: parse the WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag

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

* commit '54ed488b1af583df6c9d2a73b4a44f16b7e4f82c':
  flac muxer: write WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag for multichannel files

Conflicts:
	libavformat/flacenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
ppc: Move vec_unaligned_load macro to util_altivec

This allows reusing it from multiple files.
Merge commit '5fdaf312c5541b77b6364db8b49d6abb416a25c0'

* commit '5fdaf312c5541b77b6364db8b49d6abb416a25c0':
  flac: make avpriv_flac_parse_block_header() inline

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

* commit '6df478bf891b9fc5626e4a0b993899f310ba0a1c':
  matroskadec: split parsing tracks into a separate function

Conflicts:
	libavformat/matroskadec.c

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

* commit '4efdadc8ec50332c812e8a95e8c67f5a260e7cb0':
  matroskadec: export just the STREAMINFO block as FLAC extradata

Conflicts:
	libavformat/matroskadec.c

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

* commit '23f741f79327e31be7b2a75ebb2e02111e06e52f':
  matroskadec: parse the channel layout mask for FLAC

Conflicts:
	libavformat/oggparsevorbis.c

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

* commit 'efcde917af407a6031ecff68edd51fce7b83d104':
  vorbiscomment: simplify API by using av_dict_count()

Conflicts:
	libavformat/flacenc.c

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