Opened 20 months ago
Closed 3 months ago
#9717 closed defect (duplicate)
dxva qsv deinterlace has unexpected results
Reported by: | s170361683 | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | git-master | Keywords: | qsv dxva deinterlace |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description (last modified by )
I'm getting amazing results with FFmpeg and DXVA, except for deinterlacing.
I've plenty of interlaced 50i samples that I would like to convert to a silky smooth 50p but all I am getting is jerky 25p deinterlacing
This happens when I specify deinterlace=bob or deinterlace=advanced in vpp_qsv filter:
-vf hwmap=derive_device=qsv,vpp_qsv=async_depth=4:deinterlace=advanced
full command:
ffmpeg.exe -r 25 ^ -init_hw_device qsv=hw,child_device_type=dxva2 ^ -filter_hw_device hw ^ -extra_hw_frames 32 ^ -hwaccel dxva2 ^ -hwaccel_output_format dxva2_vld ^ -threads 1 ^ -i "interlaced_input.ts" ^ -c:v h264_qsv -q:v 25 -preset slower ^ -vf hwmap=derive_device=qsv,vpp_qsv=async_depth=4:deinterlace=advanced ^ -y "output.mp4"
Media Player Classic deinterlace it smoothly to 50p.
If I use yadif's bob, yadif=1, I get the desired result; a smooth 50p
-vf hwmap=derive_device=qsv,hwdownload,format=nv12,yadif=1
This is why I feel that this is actually a bug
Sample 50i file:
https://www.mediafire.com/file/tpkm4tx7wkxz6fu/interlaced_input.ts/file
FFmpeg official build 5.0:
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
Change History (5)
comment:1 by , 20 months ago
Description: | modified (diff) |
---|
comment:2 by , 20 months ago
comment:3 by , 20 months ago
Description: | modified (diff) |
---|---|
Version: | unspecified → git-master |
comment:4 by , 20 months ago
Keywords: | deinterlace added |
---|
comment:5 by , 3 months ago
Resolution: | → duplicate |
---|---|
Status: | new → closed |
I also experimented with this patch, which was supposed to double the frame rate.
https://patchwork.ffmpeg.org/project/ffmpeg/patch/20210514045400.3277256-15-haihao.xiang@intel.com/
Indeed, it produced 50p, but the motion was as jerky as 25p. Not very useful.