Opened 5 years ago

Last modified 5 years ago

#7901 new defect

Green/null frames at beginning of decoding with qsv decoders

Reported by: Alexander Nikiforov Owned by:
Priority: normal Component: avcodec
Version: git-master Keywords: qsv
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug: When using h264_qsv,hevc_qsv or mpeg2_qsv(haven't tested mjpeg_qsv) decoders sometimes when the decoding starts 1-3 green/null(I'm not sure if they are green or null, ffplay shows them as green in the render) frames appear in the beginning (mostly in between 1-10 frames of the beginning file).

I've managed to test almost all the mainstream Intel iGPU's - 3rd gen(i7-3770,HD 4000), 4th gen(i7-4770 & i5-4570,HD 4600), 6th gen(i7-6700k,HD 530), 8th(i7-8700k,UHD 630) and 9th gen(i9-9900k,UHD 630) with latest graphics drivers on Windows.

The frequency at which it appears isn't constant, i.e. in 10 tries 1-5 of them will be affected.

The test file for h264 which I'm using is this one http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_30fps_normal.mp4

I can attach more test files if required.

But I don't think it has something to do with the specified file.

This particular log is from a machine with a 4th gen graphics and Windows 10. Tested with latest(as of today) Zeranoe git build.
How to reproduce:

% ffplay -vcodec h264_qsv -i bbb_sunflower_1080p_30fps_normal.mp4 -loglevel 99 -v 9 -report
ffplay version N-93851-gdcc999819d Copyright (c) 2003-2019 the FFmpeg developers
  built with gcc 8.3.1 (GCC) 20190414
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
  libavutil      56. 27.100 / 56. 27.100
  libavcodec     58. 52.101 / 58. 52.101
  libavformat    58. 27.103 / 58. 27.103
  libavdevice    58.  7.100 / 58.  7.100
  libavfilter     7. 51.100 /  7. 51.100
  libswscale      5.  4.101 /  5.  4.101
  libswresample   3.  4.100 /  3.  4.100
  libpostproc    55.  4.100 / 55.  4.100
Initialized direct3d renderer.
    nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   
[NULL @ 000001df69dc7d40] Opening 'bbb_sunflower_1080p_30fps_normal.mp4' for reading
[file @ 000001df69dc8380] Setting default whitelist 'file,crypto'
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001df69dc7d40] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001df69dc7d40] ISO: File Type Major Brand: isom
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001df69dc7d40] Unknown dref type 0x206c7275 size 12
    nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001df69dc7d40] Setting codecpar->delay to 2 for stream st: 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001df69dc7d40] Unknown dref type 0x206c7275 size 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001df69dc7d40] Unknown dref type 0x206c7275 size 12
    nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001df69dc7d40] Before avformat_find_stream_info() pos: 276134913 bytes read:252639 seeks:1 nb_streams:3
[h264 @ 000001df69dd9cc0] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 000001df69dd9cc0] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 000001df69dd9cc0] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 000001df69dd9cc0] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 000001df69dd9cc0] Format yuv420p chosen by get_format().
[h264 @ 000001df69dd9cc0] Reinit context to 1920x1088, pix_fmt: yuv420p
[h264 @ 000001df69dd9cc0] no picture 
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001df69dc7d40] All info found
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001df69dc7d40] After avformat_find_stream_info() pos: 305350 bytes read:350943 seeks:2 frames:38
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'bbb_sunflower_1080p_30fps_normal.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1
    creation_time   : 2013-12-16T17:44:39.000000Z
    title           : Big Buck Bunny, Sunflower version
    artist          : Blender Foundation 2008, Janus Bager Kristensen 2013
    comment         : Creative Commons Attribution 3.0 - http://bbb3d.renderfarming.net
    genre           : Animation
    composer        : Sacha Goedegebure
  Duration: 00:10:34.53, start: 0.000000, bitrate: 3481 kb/s
    Stream #0:0(und), 16, 1/30000: Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 2998 kb/s, 30 fps, 30 tbr, 30k tbn, 60 tbc (default)
    Metadata:
      creation_time   : 2013-12-16T17:44:39.000000Z
      handler_name    : GPAC ISO Video Handler
    Stream #0:1(und), 21, 1/48000: Audio: mp3 (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s (default)
    Metadata:
      creation_time   : 2013-12-16T17:44:42.000000Z
      handler_name    : GPAC ISO Audio Handler
    Stream #0:2(und), 1, 1/48000: Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 320 kb/s (default)
    Metadata:
      creation_time   : 2013-12-16T17:44:42.000000Z
      handler_name    : GPAC ISO Audio Handler
    Side data:
      audio service type: main
detected 4 logical cores
[ffplay_abuffer @ 000001df6edf0b80] Setting 'sample_rate' to value '48000'
[ffplay_abuffer @ 000001df6edf0b80] Setting 'sample_fmt' to value 'fltp'
[ffplay_abuffer @ 000001df6edf0b80] Setting 'channels' to value '2'
[ffplay_abuffer @ 000001df6edf0b80] Setting 'time_base' to value '1/48000'
[ffplay_abuffer @ 000001df6edf0b80] Setting 'channel_layout' to value '0x3'
[ffplay_abuffer @ 000001df6edf0b80] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x3
[ffplay_abuffersink @ 000001df6ee6ee00] auto-inserting filter 'auto_resampler_0' between the filter 'ffplay_abuffer' and the filter 'ffplay_abuffersink'
[AVFilterGraph @ 000001df6f18a000] query_formats: 2 queried, 0 merged, 3 already done, 0 delayed
[auto_resampler_0 @ 000001df6ee6ef00] [SWR @ 000001df69e75840] Using fltp internally between filters
[auto_resampler_0 @ 000001df6ee6ef00] ch:2 chl:stereo fmt:fltp r:48000Hz -> ch:2 chl:stereo fmt:s16 r:48000Hz
Audio frame changed from rate:48000 ch:2 fmt:fltp layout:stereo serial:-1 to rate:48000 ch:2 fmt:fltp layout:stereo serial:1
[h264_qsv @ 000001df69e8c840] Format nv12 chosen by get_format().
[ffplay_abuffer @ 000001df69de3ac0] Setting 'sample_rate' to value '48000'
[ffplay_abuffer @ 000001df69de3ac0] Setting 'sample_fmt' to value 'fltp'
[ffplay_abuffer @ 000001df69de3ac0] Setting 'channels' to value '2'
[ffplay_abuffer @ 000001df69de3ac0] Setting 'time_base' to value '1/48000'
[ffplay_abuffer @ 000001df69de3ac0] Setting 'channel_layout' to value '0x3'
[ffplay_abuffer @ 000001df69de3ac0] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x3
[ffplay_abuffersink @ 000001df6edf0a40] auto-inserting filter 'auto_resampler_0' between the filter 'ffplay_abuffer' and the filter 'ffplay_abuffersink'
[AVFilterGraph @ 000001df6f189e00] query_formats: 2 queried, 0 merged, 3 already done, 0 delayed
[auto_resampler_0 @ 000001df69e72500] [SWR @ 000001df69e75840] Using fltp internally between filters
[auto_resampler_0 @ 000001df69e72500] ch:2 chl:stereo fmt:fltp r:48000Hz -> ch:2 chl:stereo fmt:s16 r:48000Hz
    nan A-V:    nan fd=   0 aq=   18KB vq=   76KB sq=    0B f=0/0   
[h264_qsv @ 000001df69e8c840] Initialized an internal MFX session using hardware accelerated implementation
  -0.04 A-V:    nan fd=   0 aq=   23KB vq=   76KB sq=    0B f=0/0   
Video frame changed from size:0x0 format:none serial:-1 to size:1920x1080 format:nv12 serial:1
[ffplay_buffer @ 000001df6ee70580] Setting 'video_size' to value '1920x1080'
[ffplay_buffer @ 000001df6ee70580] Setting 'pix_fmt' to value '23'
[ffplay_buffer @ 000001df6ee70580] Setting 'time_base' to value '1/30000'
[ffplay_buffer @ 000001df6ee70580] Setting 'pixel_aspect' to value '1/1'
[ffplay_buffer @ 000001df6ee70580] Setting 'frame_rate' to value '30/1'
[ffplay_buffer @ 000001df6ee70580] w:1920 h:1080 pixfmt:nv12 tb:1/30000 fr:30/1 sar:1/1 sws_param:
[auto_scaler_0 @ 000001df6ee70780] Setting 'flags' to value 'bicubic'
[auto_scaler_0 @ 000001df6ee70780] w:iw h:ih flags:'bicubic' interl:0
[ffplay_buffersink @ 000001df6ee70680] auto-inserting filter 'auto_scaler_0' between the filter 'ffplay_buffer' and the filter 'ffplay_buffersink'
[AVFilterGraph @ 000001df6f18a2c0] query_formats: 2 queried, 0 merged, 1 already done, 0 delayed
[auto_scaler_0 @ 000001df6ee70780] picking yuv420p out of 2 ref:nv12 alpha:0
[auto_scaler_0 @ 000001df6ee70780] w:1920 h:1080 fmt:nv12 sar:1/1 -> w:1920 h:1080 fmt:yuv420p sar:1/1 flags:0x4
Created 1920x1080 texture with SDL_PIXELFORMAT_IYUV.
   0.03 A-V: -0.078 fd=   0 aq=   23KB vq=   23KB sq=    0B f=0/0   
   0.07 A-V: -0.041 fd=   0 aq=   23KB vq=   23KB sq=    0B f=0/0   
   0.10 A-V: -0.049 fd=   0 aq=   23KB vq=   23KB sq=    0B f=0/0   
   0.14 A-V: -0.012 fd=   0 aq=   23KB vq=   22KB sq=    0B f=0/0   
   0.17 A-V: -0.013 fd=   0 aq=   23KB vq=   22KB sq=    0B f=0/0   
   0.20 A-V: -0.019 fd=   0 aq=   23KB vq=   28KB sq=    0B f=0/0   
   0.23 A-V: -0.017 fd=   0 aq=   23KB vq=   27KB sq=    0B f=0/0   
   0.27 A-V: -0.016 fd=   0 aq=   23KB vq=   27KB sq=    0B f=0/0   
   0.30 A-V: -0.011 fd=   0 aq=   23KB vq=   26KB sq=    0B f=0/0   
   0.34 A-V: -0.012 fd=   0 aq=   23KB vq=   26KB sq=    0B f=0/0   
   0.37 A-V: -0.009 fd=   0 aq=   23KB vq=   25KB sq=    0B f=0/0   
   0.40 A-V: -0.016 fd=   0 aq=   23KB vq=   24KB sq=    0B f=0/0   
   0.43 A-V: -0.015 fd=   0 aq=   23KB vq=   23KB sq=    0B f=0/0   
   0.47 A-V: -0.011 fd=   0 aq=   23KB vq=   22KB sq=    0B f=0/0   
   0.50 A-V: -0.011 fd=   0 aq=   23KB vq=   22KB sq=    0B f=0/0   
   0.53 A-V: -0.018 fd=   0 aq=   23KB vq=   21KB sq=    0B f=0/0   
   0.57 A-V: -0.017 fd=   0 aq=   23KB vq=   20KB sq=    0B f=0/0   
   0.60 A-V: -0.016 fd=   0 aq=   23KB vq=   20KB sq=    0B f=0/0   
   0.63 A-V: -0.023 fd=   0 aq=   23KB vq=   19KB sq=    0B f=0/0   
   0.67 A-V: -0.011 fd=   0 aq=   23KB vq=   28KB sq=    0B f=0/0   
   0.71 A-V: -0.007 fd=   0 aq=   23KB vq=   27KB sq=    0B f=0/0   
   0.73 A-V: -0.016 fd=   0 aq=   22KB vq=   27KB sq=    0B f=0/0   
   0.77 A-V: -0.013 fd=   0 aq=   22KB vq=   26KB sq=    0B f=0/0   
   0.80 A-V: -0.013 fd=   0 aq=   23KB vq=   25KB sq=    0B f=0/0   
   0.84 A-V: -0.010 fd=   0 aq=   23KB vq=   25KB sq=    0B f=0/0   
   0.87 A-V: -0.017 fd=   0 aq=   23KB vq=   24KB sq=    0B f=0/0   
   0.90 A-V: -0.014 fd=   0 aq=   23KB vq=   24KB sq=    0B f=0/0   
   0.94 A-V: -0.013 fd=   0 aq=   23KB vq=   23KB sq=    0B f=0/0   
   0.96 A-V: -0.022 fd=   0 aq=   23KB vq=   22KB sq=    0B f=0/0   
   1.01 A-V: -0.009 fd=   0 aq=   23KB vq=   21KB sq=    0B f=0/0   
   1.04 A-V: -0.006 fd=   0 aq=   23KB vq=   20KB sq=    0B f=0/0   
   1.07 A-V: -0.013 fd=   0 aq=   23KB vq=   20KB sq=    0B f=0/0   
   1.10 A-V: -0.013 fd=   0 aq=   23KB vq=   18KB sq=    0B f=0/0   
   1.14 A-V: -0.011 fd=   0 aq=   23KB vq=   17KB sq=    0B f=0/0   
   1.16 A-V: -0.020 fd=   0 aq=   23KB vq=   20KB sq=    0B f=0/0   
   1.20 A-V: -0.016 fd=   0 aq=   23KB vq=   20KB sq=    0B f=0/0   
   1.23 A-V: -0.016 fd=   0 aq=   23KB vq=   19KB sq=    0B f=0/0   
   1.27 A-V: -0.012 fd=   0 aq=   23KB vq=   19KB sq=    0B f=0/0   
   1.29 A-V: -0.021 fd=   0 aq=   23KB vq=   18KB sq=    0B f=0/0   
   1.33 A-V: -0.018 fd=   0 aq=   22KB vq=   18KB sq=    0B f=0/0   
   1.38 A-V: -0.005 fd=   0 aq=   23KB vq=   17KB sq=    0B f=0/0   
   1.41 A-V: -0.004 fd=   0 aq=   23KB vq=   17KB sq=    0B f=0/0   
   1.44 A-V: -0.012 fd=   0 aq=   23KB vq=   17KB sq=    0B f=0/0   
   1.47 A-V: -0.010 fd=   0 aq=   23KB vq=   16KB sq=    0B f=0/0   
   1.50 A-V: -0.018 fd=   0 aq=   22KB vq=   16KB sq=    0B f=0/0   
   1.53 A-V: -0.018 fd=   0 aq=   23KB vq=   16KB sq=    0B f=0/0   
   1.57 A-V: -0.014 fd=   0 aq=   23KB vq=   16KB sq=    0B f=0/0   
   1.60 A-V: -0.012 fd=   0 aq=   23KB vq=   15KB sq=    0B f=0/0   
   1.63 A-V: -0.019 fd=   0 aq=   23KB vq=   21KB sq=    0B f=0/0   
[AVIOContext @ 000001df69dd0e40] Statistics: 547551 bytes read, 2 seeks

Change History (4)

comment:1 by Alexander Nikiforov, 5 years ago

Component: undeterminedavcodec

comment:2 by Rumen Nikiforov, 5 years ago

Priority: normalimportant

I have the exact same issue, can someone please look into it?

comment:3 by Carl Eugen Hoyos, 5 years ago

Keywords: hwaccel decoding removed
Priority: importantnormal

comment:4 by Alexander Nikiforov, 5 years ago

bump

Note: See TracTickets for help on using tickets.