[Libva] [PATCH 00/31] Encoder Architecture Changes (Primarily AVC)
Qu, Pengfei
pengfei.qu at intel.com
Fri Jan 13 02:38:09 UTC 2017
-----Original Message-----
From: Libva [mailto:libva-bounces at lists.freedesktop.org] On Behalf Of Xiang, Haihao
Sent: Thursday, January 12, 2017 10:15 AM
To: Zhao, Yakui <yakui.zhao at intel.com>; seanvk at posteo.de
Cc: libva at 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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/libva
_______________________________________________
Libva mailing list
Libva at lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libva
More information about the Libva
mailing list