[Libva] [Libva-intel-driver][PATCH v3 00/18] Add H.264/SVC-T CBR support

Xiang, Haihao haihao.xiang at intel.com
Tue Sep 13 08:02:29 UTC 2016


VA-API adds new interface for bitrate control per temporal layer. This patch series 
adds the support for bitrate control per temporal layer for H.264/SVC-T in the driver.

v2: Rename frame_width_in_mbs and frame_height_in_mbs to
    frame_width_in_pixel and frame_height_in_pixel.
    Set right temporal layer id for current frame.
    Ignore bitrate control per temporal layer if the layer structure is not provided.

v3: Don't store framerate and bitrate buffers per layer if the layer structure is not
    provided before.

Xiang, Haihao (18):
  intel_mfc_brc_prepare() only works for H.264 or H.264 MVC
  Add an internal flag to indicate the start of a new sequence
  Add some new internal variables for a new sequence
  Check bitrate control related parameters in sequence and misc
    parameters
  Remove unnecessary code in H.264 BRC
  Do not use the input parameters directly in H.264 BRC
  Remove unused fields and code in H.264/VP8 BRC
  move QpPrimeY to another inner structure for H.264/VP8 BRC
  Use a 2-dimensional array to store misc parameters
  Store buffers for VAEncMiscParameterTypeRateControl and
    VAEncMiscParameterTypeFrameRate per temporal layer
  Check temporal layer structure
  Use arrays to store bitrate and framerate
  Save bitrate and framerate per temporal layer
  Change the type of the 2nd parameter of intel_mfc_update_hrd()
  Use arrays to store BRC related parameters per temporal layer
  Initialize internal related parameters per temporal layer for H.264
    BRC
  Update CBR algo for H.264 per tempolar layer
  Add support for VAConfigAttribEncRateControlExt attribute

 src/gen6_mfc.c         |  10 +-
 src/gen6_mfc.h         |  16 +--
 src/gen6_mfc_common.c  | 268 +++++++++++++++++++-------------------------
 src/gen6_vme.c         |   2 +-
 src/gen75_mfc.c        |   6 +-
 src/gen75_vme.c        |   4 +-
 src/gen7_vme.c         |   2 +-
 src/gen8_mfc.c         |  96 ++++++----------
 src/gen8_vme.c         |   2 +-
 src/gen9_mfc_hevc.c    |   4 +-
 src/gen9_vdenc.c       |   4 +-
 src/gen9_vdenc.h       |   3 -
 src/gen9_vme.c         |   2 +-
 src/gen9_vp9_encoder.c |  26 ++---
 src/i965_drv_video.c   |  63 +++++++++--
 src/i965_drv_video.h   |   4 +-
 src/i965_encoder.c     | 296 +++++++++++++++++++++++++++++++++++++++++++++++--
 src/i965_encoder.h     |  28 +++++
 18 files changed, 557 insertions(+), 279 deletions(-)

-- 
1.9.1



More information about the Libva mailing list