[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