[FFmpeg-trac] #8328(undetermined:new): QSV gives much worse PSNR/SSIM for HEVC transcode than VA-API or MediaSDK

FFmpeg trac at avcodec.org
Wed Oct 23 13:19:01 EEST 2019


#8328: QSV gives much worse PSNR/SSIM for HEVC transcode than VA-API or MediaSDK
-------------------------------------+-------------------------------------
             Reporter:  eero-t       |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  normal       |                Component:
                                     |  undetermined
              Version:  unspecified  |               Resolution:
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Comment (by eero-t):

 Earliest media-driver and FFmpeg git builds I could find were from 2018
 (media-driver & MediaSDK from start of November, FFmpeg from end of it).
 That year old version gives same bad PSNR with QSV => I would say that
 this QSV issue isn't a regression.

 FYI: Transcoding the same 10-bit 4K HEVC file didn't work with VA-API in
 that old Nov 2018 FFmpeg/media-driver version, but that was fixed in Dec
 2018, and at that point VA-API already had good PSNR.

 Can you reproduce the issue?

 PS. older versions of FFmpeg / media driver showed following warnings
 during encoding, which aren't shown anymore with the latest git versions
 (output below is from 2019 May git version):
 {{{
 ...
 [AVHWDeviceContext @ 0x55c7a5566340] VAAPI driver: Intel iHD driver -
 1.0.0.
 [AVHWDeviceContext @ 0x55c7a5566340] Driver not found in known nonstandard
 list, using standard behaviour.
 [AVHWDeviceContext @ 0x55c7a5517f80] Initialize MFX session: API version
 is 1.29, implementation version is 1.29
 [AVHWDeviceContext @ 0x55c7a5517f80] MFX compile/runtime API: 1.29/1.29
 [AVHWDeviceContext @ 0x55c7a5771dc0] VAAPI driver: Intel iHD driver -
 1.0.0.
 [AVHWDeviceContext @ 0x55c7a5771dc0] Driver not found in known nonstandard
 list, using standard behaviour.
 [NULL @ 0x55c7a5520840] missing picture in access unit with size 1
     Last message repeated 1 times
 [hevc_qsv @ 0x55c7a5520300] A decode call did not consume any data: expect
 more data at input (-10)
 [NULL @ 0x55c7a5520840] missing picture in access unit with size 1
 [hevc_qsv @ 0x55c7a5520300] A decode call did not consume any data: expect
 more data at input (-10)
 [NULL @ 0x55c7a5520840] missing picture in access unit with size 1
 [hevc_qsv @ 0x55c7a5520300] A decode call did not consume any data: expect
 more data at input (-10)
 [NULL @ 0x55c7a5520840] missing picture in access unit with size 1
     Last message repeated 2 times
 [graph 0 input from stream 0:0 @ 0x55c7a5b8c540] w:4096 h:2160 pixfmt:qsv
 tb:1/1200000 fr:60/1 sar:0/1 sws_param:flags=2
 [hevc_qsv @ 0x55c7a55332c0] Using the variable bitrate (VBR) ratecontrol
 method
 [AVHWDeviceContext @ 0x55c7a5b8bb80] VAAPI driver: Intel iHD driver -
 1.0.0.
 [AVHWDeviceContext @ 0x55c7a5b8bb80] Driver not found in known nonstandard
 list, using standard behaviour.
 [hevc_qsv @ 0x55c7a55332c0] profile: main10; level: 51
 [hevc_qsv @ 0x55c7a55332c0] GopPicSize: 248; GopRefDist: 9; GopOptFlag:
 closed ; IdrInterval: 1
 [hevc_qsv @ 0x55c7a55332c0] TargetUsage: 4; RateControlMethod: VBR
 [hevc_qsv @ 0x55c7a55332c0] BufferSizeInKB: 5000; InitialDelayInKB: 2500;
 TargetKbps: 20000; MaxKbps: 20000; BRCParamMultiplier: 1
 [hevc_qsv @ 0x55c7a55332c0] NumSlice: 1; NumRefFrame: 5
 [hevc_qsv @ 0x55c7a55332c0] RateDistortionOpt: unknown
 [hevc_qsv @ 0x55c7a55332c0] RecoveryPointSEI: unknown IntRefType: 0;
 IntRefCycleSize: 0; IntRefQPDelta: 0
 [hevc_qsv @ 0x55c7a55332c0] MaxFrameSize: 0; MaxSliceSize: 0;
 [hevc_qsv @ 0x55c7a55332c0] BitrateLimit: unknown; MBBRC: unknown; ExtBRC:
 OFF
 [hevc_qsv @ 0x55c7a55332c0] Trellis: auto
 [hevc_qsv @ 0x55c7a55332c0] VDENC: OFF
 [hevc_qsv @ 0x55c7a55332c0] RepeatPPS: OFF; NumMbPerSlice: 0; LookAheadDS:
 unknown
 [hevc_qsv @ 0x55c7a55332c0] AdaptiveI: unknown; AdaptiveB: unknown;
 BRefType: pyramid
 [hevc_qsv @ 0x55c7a55332c0] MinQPI: 0; MaxQPI: 0; MinQPP: 0; MaxQPP: 0;
 MinQPB: 0; MaxQPB: 0
 [hevc_qsv @ 0x55c7a55332c0] GPB: ON
 [hevc_qsv @ 0x55c7a55332c0] FrameRateExtD: 1; FrameRateExtN: 60
 Output #0, hevc, to 'output/0099_4K20.h265':
   Metadata:
     encoder         : Lavf58.27.103
     Stream #0:0: Video: hevc (hevc_qsv), 1 reference frame, qsv,
 4096x2160, q=2-31, 20000 kb/s, 60 fps, 60 tbn, 60 tbc
     Metadata:
       encoder         : Lavc58.52.101 hevc_qsv
     Side data:
       cpb: bitrate max/min/avg: 0/0/20000000 buffer size: 0 vbv_delay: -1
 [NULL @ 0x55c7a5520840] missing picture in access unit with size 1
     Last message repeated 21 times
 [NULL @ 0x55c7a5520840] missing picture in access unit with size
 1e=10485.8kbits/s speed=0.368x
     Last message repeated 12 times
 [NULL @ 0x55c7a5520840] missing picture in access unit with size
 1e=10066.3kbits/s speed=0.389x
     Last message repeated 12 times
 [NULL @ 0x55c7a5520840] missing picture in access unit with size
 1e=9933.9kbits/s speed=0.395x
     Last message repeated 12 times
 ...

 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/8328#comment:3>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list