[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