Mesa (main): frontends/va: Place AV1 picture and slice parameter buffers functions
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Aug 13 14:19:59 UTC 2021
Module: Mesa
Branch: main
Commit: 4ce61002154bb3ed8351a19705763313a037d1f2
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ce61002154bb3ed8351a19705763313a037d1f2
Author: Leo Liu <leo.liu at amd.com>
Date: Sat Aug 7 16:41:57 2021 -0400
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 <leo.liu at amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12307>
---
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:
More information about the mesa-commit
mailing list