h264: check that an IDR NAL only contains I slices

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  h264: check that an IDR NAL only contains I slices

Merged-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/dnxhdenc: return meaningful return codes

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/mjpegdec: update cur_scan also for non-LS jpeg

This should make no difference but the variable will be used in a subsequent commit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/mjpegdec: only run EOI emulation code when there was a scan

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/mjpegdec: Dont treat the lack of a startcode differently from end of the bitstream

Fixes Ticket3303

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/aacdec: Dont fail if channels arent known yet

Fixes Ticket3312

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
lavfi/vidstabtransform: apply various documentation/option minor fixes

Improve consistency with the rest of the documentation.
doc/muxers/segment: fix formula for computing the segment_time_delta value
doc/encoders: add libx264rgb doc and supported pixfmts for libx264(rgb)

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
doc/muxers: add "Options", "Examples", "Syntax", etc. subsections

More consistent with codec docs. Also some minor reorganization of sentences
to fit the new document hierarchy.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
lavf: add probe device API

Adds new API dedicated for output devices.

This API allows to
- Test device with provided configuration
  Audio devices params:
    - device name
    - codec
    - sample format
    - channel count
    - channels layout
    - sample rate
  Video devices params:
    - device name
    - codec
    - pixel format
    - width (minimal width as input and real width as output)
    - height (minimal height as input and real height as output)

- Get all supported configurations matching provided filter.
  Filter may contain any subset of Audio/Video device params.

Behaviour of probe function can also be modified by flags.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
lavd/fbdev_enc: implement probe device

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
lavd/pulse_audio_enc: implement probe device

PulseAudio output device can be queried for valid configurations.
Wanted configuration may be passed to limit output for expected configuration.
Configuration are validated by initializing the device.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
lavd/xv implement probe device
lavf: add avformat_dev_control_message API

New API allows to send messages from application to devices.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>

Conflicts:
	libavformat/avformat.h
lavf: add avformat_app_control_message API

New API allows to send messages from devices to application.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
lavd: add opengl device

It can render to OpenGL context provided by application or into SDL window

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
opengl probe device dummy

Conflicts:
	libavdevice/opengl_enc.c
libavengine