[Libva] [PATCH 00/31] Encoder Architecture Changes (Primarily AVC)

Sean V Kelley seanvk at posteo.de
Tue Jan 10 23:37:42 UTC 2017


Encoder architecture restructuring for H.264 (with some impact to HEVC now) on HSW+
* Improvements to the shaders
* Improvements to the B frame efficiency
* Improvements to the low bit rate mode
* Improved features in two stage VME/PAK pipeline


Pengfei Qu (31):
  ENC: move gpe related function into src/i965_gpe_utils.h/c
  ENC: add common structure for AVC/HEVC encoder
  ENC:add context init function for AVC/HEVC encoder
  ENC: add const data/table for AVC encoder
  ENC: add AVC kernel binary on SKL
  ENC: add AVC common structure and functions
  ENC: add kernel related structure and define for AVC
  ENC: add misc parameter check for AVC encoder
  ENC: add resource and surface allocation and free function for AVC
    encoder
  ENC: add init table for frame/mb brc update
  ENC: add resource/surface allocation/free function for AVC encoder
  ENC: add kernel media object related functions for AVC encoder
  ENC: add scaling kernel for AVC encoder
  ENC: add const data/table init function for AVC RC logic
  ENC: add BRC init/reset kernel for AVC RC logic
  ENC: add BRC frame update kernel for AVC RC logic
  ENC: add BRC MB level update kernel for AVC RC logic
  ENC: add REF frame QA caculation and MB level const data init for AVC
    MBenc stage
  ENC: MBENC kernel for AVC encoder
  ENC: ME kernel for AVC encoder
  ENC: WP/SFD kernel for AVC encoder
  ENC: kernel init/destroy function for AVC encoder
  ENC: kernel related parameter check function for AVC encoder
  ENC: VME pipeline init/prepare/run function for AVC encoder
  ENC: add MFX command for AVC encoder
  ENC: add MFX command for AVC encoder
  ENC: add MFX Picture/slice level command init for AVC encoder
  ENC: add MFX pipeline init/prepare/run for AVC encoder
  ENC: add VME/MFX context init for AVC encoder
  ENC: add Misc parameter check for AVC encoder
  ENC:support more quality level and switch to new AVC encoder solution
    on SKL

 src/Makefile.am                |    11 +
 src/gen9_avc_const_def.c       |  1090 ++++
 src/gen9_avc_const_def.h       |   115 +
 src/gen9_avc_encoder.c         |  7613 ++++++++++++++++++++++++
 src/gen9_avc_encoder.h         |  2345 ++++++++
 src/gen9_avc_encoder_kernels.c | 12081 +++++++++++++++++++++++++++++++++++++++
 src/gen9_avc_encoder_kernels.h |    36 +
 src/gen9_vp9_encoder.c         |   154 +-
 src/gen9_vp9_encoder.h         |    10 -
 src/i965_avc_encoder_common.c  |   319 ++
 src/i965_avc_encoder_common.h  |   305 +
 src/i965_drv_video.c           |     8 +-
 src/i965_drv_video.h           |     2 +
 src/i965_encoder.c             |    39 +-
 src/i965_encoder_api.h         |    59 +
 src/i965_encoder_common.c      |   124 +
 src/i965_encoder_common.h      |   533 ++
 src/i965_gpe_utils.c           |   265 +-
 src/i965_gpe_utils.h           |    87 +
 19 files changed, 25026 insertions(+), 170 deletions(-)
 create mode 100755 src/gen9_avc_const_def.c
 create mode 100755 src/gen9_avc_const_def.h
 create mode 100755 src/gen9_avc_encoder.c
 create mode 100755 src/gen9_avc_encoder.h
 create mode 100755 src/gen9_avc_encoder_kernels.c
 create mode 100755 src/gen9_avc_encoder_kernels.h
 create mode 100755 src/i965_avc_encoder_common.c
 create mode 100755 src/i965_avc_encoder_common.h
 create mode 100755 src/i965_encoder_api.h
 create mode 100755 src/i965_encoder_common.c
 create mode 100755 src/i965_encoder_common.h

-- 
2.11.0



More information about the Libva mailing list