[FFmpeg-trac] #7690(undetermined:new): FFmpeg QSV decode + VPP performance is just a fraction of what one gets with VA-API and MediaSDK
FFmpeg
trac at avcodec.org
Wed Jan 23 17:47:25 EET 2019
#7690: FFmpeg QSV decode + VPP performance is just a fraction of what one gets
with VA-API and MediaSDK
-------------------------------------+-------------------------------------
Reporter: eero-t | Owner:
Type: defect | Status: new
Priority: normal | Component:
Version: git-master | undetermined
Keywords: qsv | Resolution:
Blocking: | Blocked By:
Analyzed by developer: 0 | Reproduced by developer: 0
-------------------------------------+-------------------------------------
Comment (by eero-t):
Binding FFmpeg QSV process to a single core will also help in keeping the
GPU speed up (e.g. with "taskset 0x1 ffmpeg ...").
I ftraced kernel task migrations and those aren't the problem. I guess
taskset helps because all FFmpeg/QSV threads being on the same core helps
keeping CPU speed up, which can help keeping GPU speed up (you don't get
vicious cycle where other side being slow & waited on, causes freq of the
other side to be dropped, which is then slow when control switches between
GPU / CPU).
When tracing per-frame vaBeginPicture() calls done by QSV & VA-API
backends, I noticed that QSV backend does all of them from a single
thread, whereas VA-API backend splits those calls evenly across all (5)
threads. Work split differences like that can certainly explain
differences in how kernel power management handles these cases...
--
Ticket URL: <https://trac.ffmpeg.org/ticket/7690#comment:13>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list