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

Reply via email to