Mesa (master): radeon/vcn: add dynamic dpb interface

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Feb 5 14:39:40 UTC 2021


Module: Mesa
Branch: master
Commit: 6b4326346bcfe2957f662b3e796304d3e5c1064d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6b4326346bcfe2957f662b3e796304d3e5c1064d

Author: Leo Liu <leo.liu at amd.com>
Date:   Sun Jan 31 13:34:43 2021 -0500

radeon/vcn: add dynamic dpb interface

The new message buffer will save the dpb buffers from previous
allocation based on the max resolution.

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/8851>

---

 src/gallium/drivers/radeon/radeon_vcn_dec.h | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/src/gallium/drivers/radeon/radeon_vcn_dec.h b/src/gallium/drivers/radeon/radeon_vcn_dec.h
index 4100968a75e..f71d3553207 100644
--- a/src/gallium/drivers/radeon/radeon_vcn_dec.h
+++ b/src/gallium/drivers/radeon/radeon_vcn_dec.h
@@ -115,6 +115,7 @@
 #define RDECODE_MESSAGE_MPEG4_ASP_VLD                       0x0000000B
 #define RDECODE_MESSAGE_HEVC                                0x0000000D
 #define RDECODE_MESSAGE_VP9                                 0x0000000E
+#define RDECODE_MESSAGE_DYNAMIC_DPB                         0x00000010
 #define RDECODE_MESSAGE_AV1                                 0x00000011
 
 #define RDECODE_FEEDBACK_PROFILING                          0x00000001
@@ -445,6 +446,24 @@ typedef struct rvcn_dec_message_drm_s {
    unsigned int	drm_reserved;
 } rvcn_dec_message_drm_t;
 
+typedef struct rvcn_dec_message_dynamic_dpb_s {
+   unsigned int dpbConfigFlags;
+   unsigned int dpbLumaPitch;
+   unsigned int dpbLumaAlignedHeight;
+   unsigned int dpbLumaAlignedSize;
+   unsigned int dpbChromaPitch;
+   unsigned int dpbChromaAlignedHeight;
+   unsigned int dpbChromaAlignedSize;
+
+   unsigned char dpbArraySize;
+   unsigned char dpbCurArraySlice;
+   unsigned char dpbRefArraySlice[16];
+   unsigned char dpbReserved0[2];
+
+   unsigned int dpbCurrOffset;
+   unsigned int dpbAddrOffset[16];
+} rvcn_dec_message_dynamic_dpb_t;
+
 typedef struct {
    unsigned short viewOrderIndex;
    unsigned short viewId;



More information about the mesa-commit mailing list