}
if (HAS_VP9_DECODING_PROFILE(i965, VAProfileVP9Profile0) ||
- HAS_VP9_ENCODING(i965)) {
+ HAS_VP9_ENCODING(i965) ||
+ HAS_LP_VP9_ENCODING(i965)) {
profile_list[i++] = VAProfileVP9Profile0;
}
if (HAS_VP9_ENCODING(i965) && (profile == VAProfileVP9Profile0))
entrypoint_list[n++] = VAEntrypointEncSlice;
+ if (HAS_LP_VP9_ENCODING(i965) && (profile == VAProfileVP9Profile0))
+ entrypoint_list[n++] = VAEntrypointEncSliceLP;
+
if (profile == VAProfileVP9Profile0) {
if (i965->wrapper_pdrvctx) {
VAStatus va_status = VA_STATUS_SUCCESS;
} else if ((HAS_VP9_ENCODING_PROFILE(i965, profile)) &&
(entrypoint == VAEntrypointEncSlice)) {
va_status = VA_STATUS_SUCCESS;
+ } else if ((HAS_LP_VP9_ENCODING(i965) &&
+ profile == VAProfileVP9Profile0 &&
+ entrypoint == VAEntrypointEncSliceLP)) {
+ va_status = VA_STATUS_SUCCESS;
} else if (profile == VAProfileVP9Profile0 &&
entrypoint == VAEntrypointVLD &&
i965->wrapper_pdrvctx) {
va_status = VA_STATUS_SUCCESS;
} else if (!HAS_VP9_DECODING_PROFILE(i965, profile) &&
- !HAS_VP9_ENCODING(i965) && !i965->wrapper_pdrvctx) {
+ !HAS_VP9_ENCODING(i965) &&
+ !HAS_LP_VP9_ENCODING(i965) &&
+ !i965->wrapper_pdrvctx) {
va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
} else {
va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT;
profile == VAProfileH264StereoHigh)
rc_attribs = i965->codec_info->lp_h264_brc_mode;
+ else if (profile == VAProfileVP9Profile0)
+ rc_attribs = i965->codec_info->lp_vp9_brc_mode;
+
} else if (entrypoint == VAEntrypointFEI) {
if (profile == VAProfileH264ConstrainedBaseline ||
#define HAS_VP9_ENCODING(ctx) ((ctx)->codec_info->has_vp9_encoding && \
(ctx)->intel.has_bsd)
+#define HAS_LP_VP9_ENCODING(ctx) ((ctx)->codec_info->has_lp_vp9_encoding && \
+ (ctx)->intel.has_huc)
+
#define HAS_VP9_ENCODING_PROFILE(ctx, profile) \
(HAS_VP9_ENCODING(ctx) && \
((ctx)->codec_info->vp9_enc_profiles & (1U << (profile - VAProfileVP9Profile0))))
unsigned int has_vp9_encoding: 1;
unsigned int has_fei_h264_encoding: 1;
unsigned int has_h264_preenc: 1;
+ unsigned int has_lp_vp9_encoding: 1;
unsigned int lp_h264_brc_mode;
+ unsigned int lp_vp9_brc_mode;
+
unsigned int h264_brc_mode;
unsigned int vp9_brc_mode;