On 13/02/18 18:52, Mark Thompson wrote: > On 13/02/18 08:24, Haihao Xiang wrote: >> Recent Intel i965 driver commit strictly disallows application to set >> unsupported attribute values, VA_ENC_PACKED_HEADER_NONE (0) is not used >> in Intel i965 driver, so application shouldn't pass this value to the >> driver. On the other hand, VA_ENC_PACKED_HEADER_NONE (0) means the >> driver doesn't support any packed header mode, so application also >> shouldn't pass packed header to driver if a driver returns >> VA_ENC_PACKED_HEADER_NONE (0), the driver should work without >> VAConfigAttribEncPackedHeaders set for this case. >> >> In addition, VA_ATTRIB_NOT_SUPPORTED and VA_ENC_PACKED_HEADER_NONE make >> thing messy, we will deprecate VA_ENC_PACKED_HEADER_NONE in the >> future. See https://github.com/intel/libva/issues/178 for more information. >> >> This fixes broken vp9 encoder on Kably Lake with Intel I965 driver. >> >> Signed-off-by: Haihao Xiang <haihao.xi...@intel.com> >> --- >> libavcodec/vaapi_encode.c | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c >> index e371f5761ee..1d30aabed40 100644 >> --- a/libavcodec/vaapi_encode.c >> +++ b/libavcodec/vaapi_encode.c >> @@ -1111,6 +1111,10 @@ static av_cold int >> vaapi_encode_config_attributes(AVCodecContext *avctx) >> ctx->va_packed_headers, attr[i].value); >> ctx->va_packed_headers &= attr[i].value; >> } >> + >> + if (!ctx->va_packed_headers) >> + continue; >> + >> ctx->config_attributes[ctx->nb_config_attributes++] = >> (VAConfigAttrib) { >> .type = VAConfigAttribEncPackedHeaders, >> > > This seems wrong to me: the driver has indicated that packed headers are > supported, so the user is providing this attribute to indicate to the driver > that they will not use any of them. Compare the VP8 case, where the driver > does not support them and says so - there we correctly don't provide the > attribute (though maybe the commentary could be clearer on that).
Right, I hadn't realised you had already made a change so that encoding is currently broken. I've made <https://github.com/intel/intel-vaapi-driver/pull/358> to revert the API/ABI-breaking part of the change. Thanks, - Mark _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel