[FFmpeg-devel] [PATCH 0/2] Tile threading support for vp9

Ilia Valiakhmetov zakne0ne at gmail.com
Sun Aug 27 22:22:15 EEST 2017


These patches introduce tile threading support for vp9.

Tile threading is ~45% faster at 2 threads vs 1.
Frame threading is ~55% faster at 2 threads vs 1.
ffvp9 tile threading is ~25% faster than libvpx-vp9 at 2 threads

execute3() function is similar to execute2(), execept it has
a extra argument - main function for avpriv_slicethread_create(), it is used for the loopfilter.

Ilia Valiakhmetov (2):
  avcodec: add execute3() api to utilize the main function of
    avpriv_slicethread_create().
  avcodec/vp9: Add tile threading support

 libavcodec/avcodec.h         |   7 +-
 libavcodec/options.c         |   1 +
 libavcodec/pthread_slice.c   |  27 +-
 libavcodec/utils.c           |  13 +
 libavcodec/vp9.c             | 591 +++++++++++++++++++++++++++++--------------
 libavcodec/vp9_mc_template.c | 202 +++++++--------
 libavcodec/vp9block.c        | 526 +++++++++++++++++++-------------------
 libavcodec/vp9dec.h          | 106 +++++---
 libavcodec/vp9mvs.c          |  97 +++----
 libavcodec/vp9prob.c         |  64 ++---
 libavcodec/vp9recon.c        | 157 ++++++------
 11 files changed, 1036 insertions(+), 755 deletions(-)

-- 
2.8.3



More information about the ffmpeg-devel mailing list