diff --git a/libavcodec/vaapi_vp9.c b/libavcodec/vaapi_vp9.c index b360dcb711..9b3e81a388 100644 --- a/libavcodec/vaapi_vp9.c +++ b/libavcodec/vaapi_vp9.c @@ -38,6 +38,7 @@ static void fill_picture_parameters(AVCodecContext *avctx, pp->first_partition_size = h->h.compressed_header_size; pp->profile = h->h.profile; + pp->bit_depth = h->h.bpp; pp->filter_level = h->h.filter.level; pp->sharpness_level = h->h.filter.sharpness; diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c index 793e3568fe..09365f833a 100644 --- a/libavcodec/vp9.c +++ b/libavcodec/vp9.c @@ -258,7 +258,8 @@ static int update_size(AVCodecContext *ctx, int w, int h) if ((res = ff_set_dimensions(ctx, w, h)) < 0) return res; - if (s->pix_fmt == AV_PIX_FMT_YUV420P) { + switch (s->pix_fmt) { + case AV_PIX_FMT_YUV420P: #if CONFIG_VP9_DXVA2_HWACCEL *fmtp++ = AV_PIX_FMT_DXVA2_VLD; #endif @@ -268,6 +269,13 @@ static int update_size(AVCodecContext *ctx, int w, int h) #if CONFIG_VP9_VAAPI_HWACCEL *fmtp++ = AV_PIX_FMT_VAAPI; #endif + break; + case AV_PIX_FMT_YUV420P10: + case AV_PIX_FMT_YUV420P12: +#if CONFIG_VP9_VAAPI_HWACCEL + *fmtp++ = AV_PIX_FMT_VAAPI; +#endif + break; } *fmtp++ = s->pix_fmt;