xref: /aosp_15_r20/external/mesa3d/src/gallium/auxiliary/driver_trace/tr_video.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 #ifndef TR_VIDEO_H_
2 #define TR_VIDEO_H_
3 
4 
5 #include "pipe/p_video_codec.h"
6 #include "vl/vl_defines.h"
7 
8 #include "tr_context.h"
9 
10 
11 struct trace_video_codec
12 {
13    struct pipe_video_codec base;
14 
15    struct pipe_video_codec *video_codec;
16 };
17 
18 static inline struct trace_video_codec *
trace_video_codec(struct pipe_video_codec * video_codec)19 trace_video_codec(struct pipe_video_codec *video_codec)
20 {
21    assert(video_codec);
22    return (struct trace_video_codec *)video_codec;
23 }
24 
25 struct pipe_video_codec *
26 trace_video_codec_create(struct trace_context *tr_ctx, struct pipe_video_codec *video_codec);
27 
28 
29 struct trace_video_buffer
30 {
31    struct pipe_video_buffer base;
32 
33    struct pipe_video_buffer *video_buffer;
34 
35    struct pipe_sampler_view *sampler_view_planes[VL_NUM_COMPONENTS];
36    struct pipe_sampler_view *sampler_view_components[VL_NUM_COMPONENTS];
37    struct pipe_surface      *surfaces[VL_MAX_SURFACES];
38 };
39 
40 static inline struct trace_video_buffer *
trace_video_buffer(struct pipe_video_buffer * video_buffer)41 trace_video_buffer(struct pipe_video_buffer *video_buffer)
42 {
43    assert(video_buffer);
44    return (struct trace_video_buffer *)video_buffer;
45 }
46 
47 struct pipe_video_buffer *
48 trace_video_buffer_create(struct trace_context *tr_ctx, struct pipe_video_buffer *video_buffer);
49 
50 
51 #endif /* TR_VIDEO_H_ */
52