Not all profiles for vp9 are supported by the encoder and user needs to know about it
Signed-off-by: Daniel Charles <daniel.char...@intel.com> --- src/i965_device_info.c | 1 + src/i965_drv_video.c | 2 +- src/i965_drv_video.h | 5 +++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/i965_device_info.c b/src/i965_device_info.c index 4db6c51..13ac49c 100644 --- a/src/i965_device_info.c +++ b/src/i965_device_info.c @@ -447,6 +447,7 @@ static struct hw_codec_info kbl_hw_codec_info = { VA_PROFILE_MASK(H264MultiviewHigh)), .vp9_dec_profiles = VP9_PROFILE_MASK(0) | VP9_PROFILE_MASK(2), + .vp9_enc_profiles = VP9_PROFILE_MASK(0), .h264_dec_chroma_formats = EXTRA_H264_DEC_CHROMA_FORMATS, .jpeg_dec_chroma_formats = EXTRA_JPEG_DEC_CHROMA_FORMATS, diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c index e17c295..df4a0c6 100644 --- a/src/i965_drv_video.c +++ b/src/i965_drv_video.c @@ -823,7 +823,7 @@ i965_validate_config(VADriverContextP ctx, VAProfile profile, if ((HAS_VP9_DECODING_PROFILE(i965, profile)) && (entrypoint == VAEntrypointVLD)) { va_status = VA_STATUS_SUCCESS; - } else if ((HAS_VP9_ENCODING(i965)) && + } else if ((HAS_VP9_ENCODING_PROFILE(i965, profile)) && (entrypoint == VAEntrypointEncSlice)) { va_status = VA_STATUS_SUCCESS; } else if (profile == VAProfileVP9Profile0 && i965->wrapper_pdrvctx) { diff --git a/src/i965_drv_video.h b/src/i965_drv_video.h index 5ef6d27..d928d30 100644 --- a/src/i965_drv_video.h +++ b/src/i965_drv_video.h @@ -149,6 +149,10 @@ #define HAS_VP9_ENCODING(ctx) ((ctx)->codec_info->has_vp9_encoding && \ (ctx)->intel.has_bsd) +#define HAS_VP9_ENCODING_PROFILE(ctx, profile) \ + (HAS_VP9_ENCODING(ctx) && \ + ((ctx)->codec_info->vp9_enc_profiles & (1U << (profile - VAProfileVP9Profile0)))) + struct i965_surface { struct object_base *base; @@ -452,6 +456,7 @@ struct hw_codec_info unsigned int h264_mvc_dec_profiles; unsigned int vp9_dec_profiles; + unsigned int vp9_enc_profiles; unsigned int h264_dec_chroma_formats; unsigned int jpeg_dec_chroma_formats; -- 2.5.5 _______________________________________________ Libva mailing list Libva@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libva