Opened 4 months ago

Closed 11 days ago

Last modified 11 days ago

#6604 closed defect (invalid)

vaapi deinterlacing with frame rate doubling does not work, only 25 fps at the output.

Reported by: iovideo Owned by:
Priority: normal Component: avfilter
Version: git-master Keywords: vaapi
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

[igor@fedora-tn ~]$ ffmpeg -y -hwaccel vaapi -hwaccel_output_format vaapi -vaapi_device /dev/dri/renderD129 -i ~/Видео/2011.05.01_11-11-53.m2ts -vf 'deinterlace_vaapi' -c:v h264_vaapi -bf 2 output.mp4
ffmpeg version 3.3.3 Copyright (c) 2000-2017 the FFmpeg developers

built with gcc 7 (GCC)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld ' --extra-cflags='-I/usr/include/nvenc ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-fontconfig --enable-frei0r --enable-gcrypt --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libcdio --enable-indev=jack --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libmp3lame --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-libmfx --enable-runtime-cpudetect
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libavresample 3. 5. 0 / 3. 5. 0
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100

libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function vaDriverInit_0_40
libva info: va_openDriver() returns 0
Input #0, mpegts, from '/home/igor/Видео/2011.05.01_11-11-53.m2ts':

Duration: 00:04:58.98, start: 1.000000, bitrate: 22190 kb/s
Program 1

Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s

Stream mapping:

Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_vaapi))
Stream #0:1 -> #0:1 (ac3 (native) -> aac (native))

Press [q] to stop, ? for help
Output #0, mp4, to 'output.mp4':

Metadata:

encoder : Lavf57.71.100
Stream #0:0: Video: h264 (h264_vaapi) (High) ([33][0][0][0] / 0x0021), vaapi_vld, 1920x1088 [SAR 1:1 DAR 30:17], q=0-31, 25 fps, 12800 tbn, 25 tbc
Metadata:

encoder : Lavc57.89.100 h264_vaapi

Stream #0:1: Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, 5.1(side), fltp, 341 kb/s
Metadata:

encoder : Lavc57.89.100 aac

frame= 958 fps=107 q=-0.0 Lsize= 146866kB time=00:00:38.24 bitrate=31462.4kbits/s speed=4.27x
video:145255kB audio:1583kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.018599%
[aac @ 0xdc1abb6220] Qavg: 422.543
Exiting normally, received signal 2.

Change History (5)

comment:1 Changed 4 months ago by jkqxz

If you want field-rate output rather than frame-rate output then maybe it would help to provide the option selecting that?

-vf vaapi_deinterlace=rate=field

comment:2 Changed 4 months ago by iovideo

Thank you for answering me.
Yes, of course I tried option "rate=field":
ffmpeg -y -hwaccel vaapi -hwaccel_output_format vaapi -vaapi_device /dev/dri/renderD129 -i ~/Видео/2011.05.01_11-11-53.m2ts -vf deinterlace_vaapi=rate=field -c:v h264_vaapi -bf 2 output.mp4
But I get this message:

[Parsed_deinterlace_vaapi_0 @ 0x394e3c71c0] Option 'rate' not found
[AVFilterGraph @ 0x394e3c5f60] Error initializing filter 'deinterlace_vaapi' with args 'rate=field'
Error reinitializing filters!
Failed to inject frame into filter network: Option not found

comment:3 Changed 4 months ago by jkqxz

Oh right, it was added after 3.3 branched. Try a later version.

comment:4 Changed 11 days ago by jkqxz

  • Resolution set to fixed
  • Status changed from new to closed

comment:5 Changed 11 days ago by cehoyos

  • Component changed from ffmpeg to avfilter
  • Keywords vaapi added; deinterlace_vaapi removed
  • Resolution changed from fixed to invalid
  • Version changed from unspecified to git-master
Note: See TracTickets for help on using tickets.