[FFmpeg-trac] #7706(undetermined:new): 20-30% perf drop in FFmpeg (H264) transcode performance with VAAPI

FFmpeg trac at avcodec.org
Wed Jan 30 13:30:00 EET 2019


#7706: 20-30% perf drop in FFmpeg (H264) transcode performance with VAAPI
-------------------------------------+-------------------------------------
             Reporter:  eero-t       |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  normal       |                Component:
              Version:  git-master   |  undetermined
             Keywords:  vaapi        |               Resolution:
  regression                         |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Comment (by eero-t):

 Did manual bisect (they go from newer to older commits):
 * slow: 2019-01-23 23-04-12 916b3b9079f783f0e00823e19bba85fa0f7d012f:
 vaapi_encode_vp9: Support more complex reference structures
 * slow: 2019-01-23 23-04-11 494bd8df782efe53e85de8ce258a079cea4eca72:
 vaapi_encode: Let the reconstructed frame pool be sized dynamically
 * slow: 2019-01-23 23-04-11 5fdcf85bbffe7451c227478fda62da5c0938f27d:
 vaapi_encode: Convert to send/receive API
 * fast: 2019-01-23 23-04-11 26ce3a43a35fe3a43c895945252aa22c6b46ffb7:
 vaapi_encode: Allocate picture-private data in generic code

 => encode perf regression came from:
 {{{
 commit 5fdcf85bbffe7451c227478fda62da5c0938f27d
 Author:     Mark Thompson <sw at jkqxz.net>
 AuthorDate: Thu Dec 20 20:39:56 2018 +0000
 Commit:     Mark Thompson <sw at jkqxz.net>
 CommitDate: Wed Jan 23 23:04:11 2019 +0000

     vaapi_encode: Convert to send/receive API

     This attaches the logic of picking the mode of for the next picture to
     the output, which simplifies some choices by removing the concept of
     the picture for which input is not yet available.  At the same time,
     we allow more complex reference structures and track more reference
     metadata (particularly the contents of the DPB) for use in the
     codec-specific code.

     It also adds flags to explicitly track the available features of the
     different codecs.  The new structure also allows open-GOP support, so
     that is now available for codecs which can do it.
 }}}

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


More information about the FFmpeg-trac mailing list