From 4ce61002154bb3ed8351a19705763313a037d1f2 Mon Sep 17 00:00:00 2001 From: Leo Liu Date: Sat, 7 Aug 2021 16:41:57 -0400 Subject: [PATCH] frontends/va: Place AV1 picture and slice parameter buffers functions So that can pass the parameters from application to driver. Signed-off-by: Leo Liu Reviewed-by: Boyuan Zhang Part-of: --- src/gallium/frontends/va/picture.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/gallium/frontends/va/picture.c b/src/gallium/frontends/va/picture.c index 044c267eeff..6af7397e132 100644 --- a/src/gallium/frontends/va/picture.c +++ b/src/gallium/frontends/va/picture.c @@ -130,18 +130,22 @@ handlePictureParameterBuffer(vlVaDriver *drv, vlVaContext *context, vlVaBuffer * vlVaHandlePictureParameterBufferMPEG4(drv, context, buf); break; - case PIPE_VIDEO_FORMAT_HEVC: + case PIPE_VIDEO_FORMAT_HEVC: vlVaHandlePictureParameterBufferHEVC(drv, context, buf); break; - case PIPE_VIDEO_FORMAT_JPEG: + case PIPE_VIDEO_FORMAT_JPEG: vlVaHandlePictureParameterBufferMJPEG(drv, context, buf); break; - case PIPE_VIDEO_FORMAT_VP9: + case PIPE_VIDEO_FORMAT_VP9: vlVaHandlePictureParameterBufferVP9(drv, context, buf); break; + case PIPE_VIDEO_FORMAT_AV1: + vlVaHandlePictureParameterBufferAV1(drv, context, buf); + break; + default: break; } @@ -204,7 +208,7 @@ handleIQMatrixBuffer(vlVaContext *context, vlVaBuffer *buf) } static void -handleSliceParameterBuffer(vlVaContext *context, vlVaBuffer *buf) +handleSliceParameterBuffer(vlVaContext *context, vlVaBuffer *buf, unsigned num) { switch (u_reduce_video_profile(context->templat.profile)) { case PIPE_VIDEO_FORMAT_MPEG12: @@ -235,6 +239,10 @@ handleSliceParameterBuffer(vlVaContext *context, vlVaBuffer *buf) vlVaHandleSliceParameterBufferVP9(context, buf); break; + case PIPE_VIDEO_FORMAT_AV1: + vlVaHandleSliceParameterBufferAV1(context, buf, num); + break; + default: break; } @@ -326,6 +334,8 @@ handleVASliceDataBufferType(vlVaContext *context, vlVaBuffer *buf) case PIPE_VIDEO_FORMAT_VP9: vlVaDecoderVP9BitstreamHeader(context, buf); break; + case PIPE_VIDEO_FORMAT_AV1: + break; default: break; } @@ -598,7 +608,7 @@ vlVaRenderPicture(VADriverContextP ctx, VAContextID context_id, VABufferID *buff break; case VASliceParameterBufferType: - handleSliceParameterBuffer(context, buf); + handleSliceParameterBuffer(context, buf, i); break; case VASliceDataBufferType: