[Libva] [PATCH Libva-intel-driver 00/18] Encoding: Add the support of ROI under CQP on Ivy/Haswell

Zhao, Yakui yakui.zhao at intel.com
Mon Jan 12 05:01:23 PST 2015


From: "Zhao, Yakui" <yakui.zhao at intel.com>

    This is the patch set that tries to add the support of ROI under CQP
on Ivy/Haswell. (ROI is the abbreviation of region of interest). In order
to support ROI, the driver needs to support the feature that the different
qp can be used for the different macroblocks. It requires that the VME
prediction shader and H264 encoding PAK commands can use the different
qp for the different macroblocks. 


Zhao Yakui (18):
  Encoding: Abstract the calculation of mbmv cost for qp as one
    function
  Encoding: Add one function that initialize mbmv cost table for
    supported Qp range
  Encoding: Setup one cost_table surface state for VME shader
  Encoding: Enlarge VME command buffer to pass more parameter for
    VME MEDIA_OBJECT command on Ivy
  Encoding: Pass the Qp parameter into VME shader
  Encoding: VME shader reads mbmv_cost from cost_table surface instead
    of constant buffer on Haswell
  encoding: Send VME instruction uses one register as the desc
    parameter instead of hardcode
  Encoding: Pass the qp parameter into VME shader on Ivybridge
  Encoding: VME shader select the different cost table based on input
    Qp on Ivy
  Encoding: Dynamically select one mechanism to construct encoding
    command buffer for each frame on Haswell
  Encoding: Dynamically select one mechanism to construct encoding
    command buffer for each frame on Gen7/Gen6
  Encoding: Add one flag to indicate whether ROI is supported in one
    encode context
  Encoding: Allocate one ROI buffer to hold qp per mb dynamically
  encoding: use the qp per every macroblock on Ivy
  Encoding: Force to use CPU to construct the MFC pak command when
    using qp per mb
  encoding: use the qp per every macroblock on Haswell
  Encoding: Follow API to free the previous ROI buffer when starting a
    new frame
  Encoding: Add the support of ROI under CQP on Haswell/Ivybridge

 src/gen6_mfc.c                            |   25 +--
 src/gen6_mfc.h                            |    1 -
 src/gen6_mfc_common.c                     |  277 ++++++++++++++++++++++++++---
 src/gen6_vme.h                            |   32 ++++
 src/gen75_mfc.c                           |   29 +--
 src/gen75_vme.c                           |   42 ++++-
 src/gen7_vme.c                            |  183 ++++++++++++++-----
 src/gen8_vme.c                            |   20 +++
 src/i965_drv_video.c                      |   24 +++
 src/i965_encoder.c                        |   13 +-
 src/i965_encoder.h                        |    3 +
 src/shaders/vme/inter_bframe_haswell.asm  |   24 ++-
 src/shaders/vme/inter_bframe_haswell.g75b |   23 ++-
 src/shaders/vme/inter_bframe_ivb.asm      |   26 +--
 src/shaders/vme/inter_bframe_ivb.g7b      |   25 ++-
 src/shaders/vme/inter_frame_haswell.asm   |   24 ++-
 src/shaders/vme/inter_frame_haswell.g75b  |   11 +-
 src/shaders/vme/inter_frame_ivb.asm       |   26 +--
 src/shaders/vme/inter_frame_ivb.g7b       |   13 +-
 src/shaders/vme/intra_frame_haswell.asm   |   23 ++-
 src/shaders/vme/intra_frame_haswell.g75b  |    7 +-
 src/shaders/vme/intra_frame_ivb.asm       |   26 +--
 src/shaders/vme/intra_frame_ivb.g7b       |    9 +-
 src/shaders/vme/vme7.inc                  |    1 +
 src/shaders/vme/vme75.inc                 |    4 +
 25 files changed, 727 insertions(+), 164 deletions(-)

-- 
1.7.10.1



More information about the Libva mailing list