1 /*
2 * Copyright (c) 2022, Intel Corporation
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included
12 * in all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
18 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20 * OTHER DEALINGS IN THE SOFTWARE.
21 */
22 //!
23 //! \file      ddi_decode_trace_specific.h
24 //! \brief     Declaration for decode event trace dump
25 //!
26 
27 #include "codec_def_decode_avc.h"
28 #include "codec_def_decode_hevc.h"
29 #include "codec_def_decode_av1.h"
30 
31 namespace decode
32 {
33 
34 #if MOS_EVENT_TRACE_DUMP_SUPPORTED
35 
36 #define MACROBLOCK_HEIGHT   16
37 #define MACROBLOCK_WIDTH    16
38 
39 typedef struct _DECODE_EVENTDATA_INFO_PICTUREVA
40 {
41     uint32_t CodecFormat;
42     uint32_t FrameType;
43     uint32_t PicStruct;
44     uint32_t Width;
45     uint32_t Height;
46     uint32_t Bitdepth;
47     uint32_t ChromaFormat;
48     bool     EnabledSCC;
49     bool     EnabledSegment;
50     bool     EnabledFilmGrain;
51 } DECODE_EVENTDATA_INFO_PICTUREVA;
52 
53 typedef struct _DECODE_EVENTDATA_VA_DISPLAYINFO
54 {
55     uint32_t uiDisplayWidth;
56     uint32_t uiDisplayHeight;
57 } DECODE_EVENTDATA_VA_DISPLAYINFO;
58 
59 typedef struct _DECODE_EVENTDATA_VA_CREATEBUFFER
60 {
61     VABufferType type;
62     uint32_t size;
63     uint32_t numElements;
64     VABufferID *bufId;
65 } DECODE_EVENTDATA_VA_CREATEBUFFER;
66 
67 typedef struct _DECODE_EVENTDATA_VA_BEGINPICTURE_START
68 {
69     uint32_t FrameIndex;
70 } DECODE_EVENTDATA_VA_BEGINPICTURE_START;
71 
72 typedef struct _DECODE_EVENTDATA_VA_BEGINPICTURE
73 {
74     uint32_t FrameIndex;
75     uint32_t hRes;
76 } DECODE_EVENTDATA_VA_BEGINPICTURE;
77 
78 typedef struct _DECODE_EVENTDATA_VA_ENDPICTURE_START
79 {
80     uint32_t FrameIndex;
81 } DECODE_EVENTDATA_VA_ENDPICTURE_START;
82 
83 typedef struct _DECODE_VA_EVENTDATA_ENDPICTURE
84 {
85     uint32_t FrameIndex;
86     uint32_t hRes;
87 } DECODE_EVENTDATA_VA_ENDPICTURE;
88 
89 
90 typedef struct _DECODE_EVENTDATA_VA_RENDERPICTURE_START
91 {
92     VABufferID *buffers;
93 } DECODE_EVENTDATA_VA_RENDERPICTURE_START;
94 
95 typedef struct _DECODE_EVENTDATA_VA_RENDERPICTURE
96 {
97     VABufferID *buffers;
98     uint32_t hRes;
99     uint32_t numBuffers;
100 } DECODE_EVENTDATA_VA_RENDERPICTURE;
101 
102 typedef struct _DECODE_EVENTDATA_VA_CREATECONTEXT_START
103 {
104     VABufferID configId;
105 } DECODE_EVENTDATA_VA_CREATECONTEXT_START;
106 
107 typedef struct _DECODE_EVENTDATA_VA_CREATECONTEXT
108 {
109     VABufferID configId;
110     uint32_t hRes;
111 } DECODE_EVENTDATA_VA_CREATECONTEXT;
112 
113 typedef struct _DECODE_EVENTDATA_VA_DESTROYCONTEXT_START
114 {
115     VABufferID context;
116 } DECODE_EVENTDATA_VA_DESTROYCONTEXT_START;
117 
118 typedef struct _DECODE_EVENTDATA_VA_DESTROYCONTEXT
119 {
120     VABufferID context;
121 } DECODE_EVENTDATA_VA_DESTROYCONTEXT;
122 
123 typedef struct _DECODE_EVENTDATA_VA_GETDECCTX
124 {
125     uint32_t bufferID;
126 } DECODE_EVENTDATA_VA_GETDECCTX;
127 
128 typedef struct _DECODE_EVENTDATA_VA_FREEBUFFERHEAPELEMENTS
129 {
130     uint32_t bufNums;
131 } DECODE_EVENTDATA_VA_FREEBUFFERHEAPELEMENTS;
132 
133 typedef struct _DECODE_EVENTDATA_VA_FEATURE_REPORTMODE
134 {
135     uint32_t wMode;
136     uint32_t ValueID;
137 } DECODE_EVENTDATA_VA_FEATURE_REPORTMODE;
138 
139 #endif
140 }
141