vorbis_parser: use a dedicated AVClass for logging

Currently, the API takes an external AVCodecContext, which is used only
for extradata and logging. This change will allow to it to work without
an AVCodecContext in the following commits.
vorbis_parser: add an AV prefix to VorbisParseContext

This is done in preparation for making it public.
lavc: add a public API for parsing vorbis packets.

It is required by (at least) the ogg demuxer.

Mark the current semi-public apriv API for removal.
lavc,lavf: switch to the new vorbis parse API
lavf: use the format context strict_std_compliance instead of the codec one
riffenc: do not fall back on AVCodecContext.frame_size for MP3

It will not be set unless the codec context is used as the encoding
context, which is discouraged. For MP2, av_get_audio_frame_duration()
will already set the frame size properly. For MP3, set the frame size
explicitly.
lavf: stop using avpriv_flac_parse_streaminfo()

The only parameters needed by the demuxers are the sample rate and sample
count, which can be trivially extracted manually, without resorting to
an avpriv function.
lavc: make avpriv_flac_parse_streaminfo() private on the next bump
oggenc: accept only STREAMINFO extradata

The reasoning is the same as for
0097cbea695e534fce39958ccd103af2fbf65831.
lavc: make avpriv_flac_is_extradata_valid() private on the next bump
nutdec: do not set has_b_frames

It is not supposed to be set by demuxers.
mpegvideo_enc: rework direct mode check

Remove stray semicolon and share codepaths.

CC: libav-stable@libav.org
Bug-Id: CID 991857
mpegvideo_enc: factor out denominator and explicitly cast operands

CC: libav-stable@libav.org
Bug-Id: CID 608053
mpeg12enc: factor out check in encode_dc

Makes coverity less confused and the code more readable.

CC: libav-stable@libav.org
Bug-Id: CID 751744
mpeg12dec: simplify context duplication

CC: libav-stable@libav.org
Bug-Id: CID 717453 / CID 717454 / CID 717915
pthreads_frame: Do not leak on failure path

CC: libav-stable@libav.org
Bug-Id: CID 1135767
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
mjpegdec: fix undefined shift

Add a comment to explain the code.

CC: libav-stable@libav.org
Bug-Id: CID 1194388
flvenc: move metadata updates into a single function
flvenc: Send new metadata when FLAG_METADATA_UPDATED is set.
movenc: Send new metadata when FLAG_METADATA_UPDATED is set.

This only works for fragmented files.