diff --git a/src/gallium/frontends/va/picture.c b/src/gallium/frontends/va/picture.c index 6af7397e132..5a5792ea42f 100644 --- a/src/gallium/frontends/va/picture.c +++ b/src/gallium/frontends/va/picture.c @@ -741,6 +741,14 @@ vlVaEndPicture(VADriverContextP ctx, VAContextID context_id) realloc = true; } + if (u_reduce_video_profile(context->templat.profile) == PIPE_VIDEO_FORMAT_AV1 && + surf->buffer->buffer_format == PIPE_FORMAT_NV12) { + if (context->desc.av1.picture_parameter.bit_depth_idx == 1) { + surf->templat.buffer_format = PIPE_FORMAT_P010; + realloc = true; + } + } + if (realloc) { struct pipe_video_buffer *old_buf = surf->buffer;