I'm using ffplay as a live preview for my capture card, and I'm trying to use
the yadif filter in mode 1 (send_field) to deinterlace the 59.94i input to
59.94 fps.
Using this command works as expected:
ffplay -f dshow -i video="SA7160 PCI, Analog 01 Capture" -vf yadif=1
However, if I try the same command with an audio device included, the frame
rate appears capped at 29.97 fps as if I were using mode 0 (send_frame):
ffplay -f dshow -i video="SA7160 PCI, Analog 01 Capture":audio="SA7160 PCI,
Analog 01 WaveIn" -vf yadif=1
Why does the filter only work properly when there is no audio device on the
input? Is there a workaround for this or is it a bug?
Here's a screen recording as a demonstration: https://streamable.com/p0v9rk
Console output is attached.
AlexC:\test> ffplay -f dshow -i video="SA7160 PCI, Analog 01 Capture" -vf yadif=1
ffplay version N-103227-g115f5e8035-20210813 Copyright (c) 2003-2021 the FFmpeg
developers
built with gcc 10-win32 (GCC) 20210408
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static
--pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64
--target-os=mingw32 --enable-gpl --enable-version3 --disable-debug
--disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2
--enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp
--enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl
--enable-libvmaf --enable-vulkan --disable-libxcb --disable-xlib --enable-amf
--enable-libaom --enable-avisynth --enable-libdav1d --enable-libdavs2
--disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-libglslang
--enable-libgme --enable-libass --enable-libbluray --enable-libmp3lame
--enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp
--enable-lv2 --enable-libmfx --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e
--enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr
--enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d
--disable-libdrm --disable-vaapi --enable-libvidstab --enable-libx264
--enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg
--extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread
--extra-ldexeflags= --extra-libs=-lgomp --extra-version=20210813
libavutil 57. 3.100 / 57. 3.100
libavcodec 59. 4.101 / 59. 4.101
libavformat59. 4.101 / 59. 4.101
libavdevice59. 0.100 / 59. 0.100
libavfilter 8. 1.103 / 8. 1.103
libswscale 6. 0.100 / 6. 0.100
libswresample 4. 0.100 / 4. 0.100
libpostproc56. 0.100 / 56. 0.100
Input #0, dshow, from 'video=SA7160 PCI, Analog 01 Capture':f=0/0
Duration: N/A, start: 214853.603000, bitrate: N/A
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 720x480, 29.97
fps, 29.97 tbr, 1k tbn
214854.83 M-V: -0.000 fd= 0 aq=0KB vq=0KB sq=0B f=0/0
C:\test> ffplay -f dshow -i video="SA7160 PCI, Analog 01 Capture":audio="SA7160
PCI, Analog 01 WaveIn" -vf yadif=1
ffplay version N-103227-g115f5e8035-20210813 Copyright (c) 2003-2021 the FFmpeg
developers
built with gcc 10-win32 (GCC) 20210408
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static
--pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64
--target-os=mingw32 --enable-gpl --enable-version3 --disable-debug
--disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2
--enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp
--enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl
--enable-libvmaf --enable-vulkan --disable-libxcb --disable-xlib --enable-amf
--enable-libaom --enable-avisynth --enable-libdav1d --enable-libdavs2
--disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-libglslang
--enable-libgme --enable-libass --enable-libbluray --enable-libmp3lame
--enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp
--enable-lv2 --enable-libmfx --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e
--enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr
--enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d
--disable-libdrm --disable-vaapi --enable-libvidstab --enable-libx264
--enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg
--extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread
--extra-ldexeflags= --extra-libs=-lgomp --extra-version=20210813
libavutil 57. 3.100 / 57. 3.100
libavcodec 59. 4.101 / 59. 4.101
libavformat59. 4.101 / 59. 4.101
libavdevice59. 0.100 / 59. 0.100
libavfilter 8. 1.103 / 8. 1.103
libswscale 6. 0.100 / 6. 0.100
libswresample 4. 0.100 / 4. 0.100
libpostproc56. 0.100 / 56. 0.100
Input #0, dshow, from 'video=SA7160 PCI, Analog 01 Capture:audio=SA7160 PCI,
Analog 01 WaveIn':
Duration: