FFmpeg/libavdevice
Diederick Niehorster a1c4929f65 avdevice/dshow: select format with extended color info
Some DirectShow devices (Logitech C920 webcam) expose each DirectShow
format they support twice, once without and once with extended color
information. During format selection, both match, this patch ensures
that the format with extended color information is selected if it is
available, else it falls back to a matching format without such
information. This also necessitated a new code path taken for default
formats of a device (when user didn't request any specific video size,
etc), because the default format may be one without extended color
information when a twin with extended color information is also
available. Getting the extended color information when available is
important as it allows setting the color space, range, primaries,
transfer characteristics and chroma location of the stream provided by
dshow, enabling users to get more correct color automatically out of
their device.

Closes: #9271

Signed-off-by: Diederick Niehorster <dcnieho@gmail.com>
Reviewed-by: Roger Pack <rogerdpack2@gmail.com>
2021-12-24 14:07:07 +05:30
..
tests Merge commit '93fed46a92' 2017-03-19 16:08:27 +01:00
.gitignore lavfi,lavd: add gitignore for generated static component lists 2018-04-05 22:08:53 +01:00
alldevices.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
alsa.c avdevice/alsa_dec: make sure we have enough data in non-blocking mode 2021-03-12 23:55:30 +01:00
alsa.h avdevice/alsa_dec: make sure we have enough data in non-blocking mode 2021-03-12 23:55:30 +01:00
alsa_dec.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
alsa_enc.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
android_camera.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
audiotoolbox.m avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
avdevice.c avdevice: add info about media types(s) to AVDeviceInfo 2021-12-24 14:06:45 +05:30
avdevice.h avdevice: add info about media types(s) to AVDeviceInfo 2021-12-24 14:06:45 +05:30
avdeviceres.rc
avfoundation.m libavdevice/avfoundation.m: fix potential unreleased lock issue 2021-09-17 15:31:40 +02:00
bktr.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
caca.c avdevice/caca: Don't free AVOpt-enabled string manually 2021-10-09 14:18:12 +02:00
decklink_common.cpp avdevice/decklink: support for more duplex mode for Decklink 8K Pro 2021-08-16 10:00:39 +08:00
decklink_common.h avdevice/decklink: support for more duplex mode for Decklink 8K Pro 2021-08-16 10:00:39 +08:00
decklink_common_c.h avdevice/decklink: add level_a configuration option 2021-08-16 10:00:39 +08:00
decklink_dec.cpp avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
decklink_dec.h libavdevice/decklink: add support for -sources and -sinks arguments 2017-10-10 20:07:25 +02:00
decklink_dec_c.c avdevice/decklink: support for more duplex mode for Decklink 8K Pro 2021-08-16 10:00:39 +08:00
decklink_enc.cpp avdevice/decklink: add link configuration option 2021-08-16 10:00:39 +08:00
decklink_enc.h libavdevice/decklink: add support for -sources and -sinks arguments 2017-10-10 20:07:25 +02:00
decklink_enc_c.c avdevice/decklink: support for more duplex mode for Decklink 8K Pro 2021-08-16 10:00:39 +08:00
dshow.c avdevice/dshow: select format with extended color info 2021-12-24 14:07:07 +05:30
dshow_capture.h avdevice/dshow: implement option to use device video timestamps 2021-12-24 14:06:06 +05:30
dshow_common.c
dshow_crossbar.c lavd/dshow: Add namespace prefix to global functions 2021-01-21 20:02:23 -03:00
dshow_enummediatypes.c avdevice/dshow: Add namespace prefix to the remaining global symbols 2021-01-25 19:31:11 -03:00
dshow_enumpins.c avdevice/dshow: Add namespace prefix to the remaining global symbols 2021-01-25 19:31:11 -03:00
dshow_filter.c avdevice/dshow: Add namespace prefix to the remaining global symbols 2021-01-25 19:31:11 -03:00
dshow_pin.c avdevice/dshow: handle unknown sample time 2021-12-24 14:06:21 +05:30
fbdev_common.c Merge commit '87f98a2b9d' 2015-07-11 12:25:03 +02:00
fbdev_common.h
fbdev_dec.c Remove unnecessary mem.h inclusions 2021-07-22 14:47:57 +02:00
fbdev_enc.c Remove unnecessary mem.h inclusions 2021-07-22 14:47:57 +02:00
file_open.c
gdigrab.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
iec61883.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
internal.h avformat: Constify the API wrt AV(In|Out)putFormat 2021-04-27 10:43:08 -03:00
jack.c lavd/jack: increase buffer size for snprintf() 2021-12-07 11:16:14 +01:00
kmsgrab.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
lavfi.c avdevice/lavfi: Don't require AV_PIX_FMT_NONE == -1 2021-12-03 17:01:24 +01:00
libavdevice.v Merge commit '535a742c26' 2016-06-27 17:56:47 +02:00
libcdio.c Remove unnecessary mem.h inclusions 2021-07-22 14:47:57 +02:00
libdc1394.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
Makefile lavdevice: Add AudioToolbox output device. 2020-06-15 15:09:33 +02:00
openal-dec.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
opengl_enc.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
opengl_enc_shaders.h all: Make header guard names consistent 2016-01-31 15:44:11 -08:00
oss.c Remove/replace some unnecessary avcodec.h inclusions 2021-07-22 15:29:46 +02:00
oss.h Remove/replace some unnecessary avcodec.h inclusions 2021-07-22 15:29:46 +02:00
oss_dec.c Remove/replace some unnecessary avcodec.h inclusions 2021-07-22 15:29:46 +02:00
oss_enc.c Remove/replace some unnecessary avcodec.h inclusions 2021-07-22 15:29:46 +02:00
pulse_audio_common.c
pulse_audio_common.h avdevice/pulse_audio_common: add av_warn_unused_result 2015-10-22 19:03:50 -04:00
pulse_audio_dec.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
pulse_audio_enc.c avcodec/avcodec: Stop including channel_layout.h in avcodec.h 2021-07-22 11:14:31 +02:00
reverse.c avdevice: make ff_reverse available on shared builds 2017-07-20 00:33:29 -03:00
sdl2.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
sndio.c Merge commit '8d26c193fb' 2015-04-09 21:36:42 +02:00
sndio.h Merge commit '8d26c193fb' 2015-04-09 21:36:42 +02:00
sndio_dec.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
sndio_enc.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
timefilter.c Merge commit 'd12b5b2f13' 2016-05-11 19:13:03 +01:00
timefilter.h avdevice/timefilter: remove obsolete comments from the docs 2021-02-27 21:30:41 +01:00
utils.c avformat: Constify the API wrt AV(In|Out)putFormat 2021-04-27 10:43:08 -03:00
v4l2-common.c lavd/v4l2-common: Add an entry for Z16. 2019-03-22 12:30:47 +01:00
v4l2-common.h Remove unnecessary avassert.h inclusions 2021-07-22 15:02:30 +02:00
v4l2.c lavd/v4l2: detect device name truncation 2021-12-07 11:16:14 +01:00
v4l2enc.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
version.h avdevice: add info about media types(s) to AVDeviceInfo 2021-12-24 14:06:45 +05:30
vfwcap.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
xcbgrab.c av(codec|device): Don't cast pointers to int 2021-11-21 00:35:30 +01:00
xv.c avdevice/xv: Increase array size 2021-10-09 13:24:38 +02:00