On 01/11/2017 07:37 AM, Sean V Kelley wrote:
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
After checking the code, it seems that assert is used widely.
But the assert is only for the debug purpose, which causes that the
program will abort. This doesn't make sense. It will be better that the
failure status is returned instead of crash program.
At the same time if the NDEBUG definition is added, the check is
disabled. In such case the driver should handle the failure scenario and
return the failure status to upper middleware.
That is to say: The assert had better be avoided and add more check to
check the failure status.
Thanks.
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
_______________________________________________
Libva mailing list
Libva@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libva