-----Original Message----- From: Libva [mailto:libva-boun...@lists.freedesktop.org] On Behalf Of Xiang, Haihao Sent: Thursday, January 12, 2017 10:15 AM To: Zhao, Yakui <yakui.z...@intel.com>; sea...@posteo.de Cc: libva@lists.freedesktop.org Subject: Re: [Libva] [PATCH 00/31] Encoder Architecture Changes (Primarily AVC)
On Thu, 2017-01-12 at 09:40 +0800, Zhao Yakui wrote: > 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. We can add some assert() for internal logic check in the driver, it would be better not use assert() for input validation. Thanks Haihao [Pengfei] I will keep assert for internal logic and replace assert for input validation. > 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 _______________________________________________ Libva mailing list Libva@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libva _______________________________________________ Libva mailing list Libva@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libva