xref: /openbmc/linux/drivers/media/test-drivers/visl/visl-trace-h264.h (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
1*0c078e31SDaniel Almeida /* SPDX-License-Identifier: GPL-2.0 */
2*0c078e31SDaniel Almeida #if !defined(_VISL_TRACE_H264_H_) || defined(TRACE_HEADER_MULTI_READ)
3*0c078e31SDaniel Almeida #define _VISL_TRACE_H264_H_
4*0c078e31SDaniel Almeida 
5*0c078e31SDaniel Almeida #include <linux/tracepoint.h>
6*0c078e31SDaniel Almeida #include "visl.h"
7*0c078e31SDaniel Almeida 
8*0c078e31SDaniel Almeida #undef TRACE_SYSTEM
9*0c078e31SDaniel Almeida #define TRACE_SYSTEM visl_h264_controls
10*0c078e31SDaniel Almeida 
11*0c078e31SDaniel Almeida DECLARE_EVENT_CLASS(v4l2_ctrl_h264_sps_tmpl,
12*0c078e31SDaniel Almeida 	TP_PROTO(const struct v4l2_ctrl_h264_sps *s),
13*0c078e31SDaniel Almeida 	TP_ARGS(s),
14*0c078e31SDaniel Almeida 	TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_h264_sps, s)),
15*0c078e31SDaniel Almeida 	TP_fast_assign(__entry->s = *s),
16*0c078e31SDaniel Almeida 	TP_printk("\nprofile_idc %u\n"
17*0c078e31SDaniel Almeida 		  "constraint_set_flags %s\n"
18*0c078e31SDaniel Almeida 		  "level_idc %u\n"
19*0c078e31SDaniel Almeida 		  "seq_parameter_set_id %u\n"
20*0c078e31SDaniel Almeida 		  "chroma_format_idc %u\n"
21*0c078e31SDaniel Almeida 		  "bit_depth_luma_minus8 %u\n"
22*0c078e31SDaniel Almeida 		  "bit_depth_chroma_minus8 %u\n"
23*0c078e31SDaniel Almeida 		  "log2_max_frame_num_minus4 %u\n"
24*0c078e31SDaniel Almeida 		  "pic_order_cnt_type %u\n"
25*0c078e31SDaniel Almeida 		  "log2_max_pic_order_cnt_lsb_minus4 %u\n"
26*0c078e31SDaniel Almeida 		  "max_num_ref_frames %u\n"
27*0c078e31SDaniel Almeida 		  "num_ref_frames_in_pic_order_cnt_cycle %u\n"
28*0c078e31SDaniel Almeida 		  "offset_for_ref_frame %s\n"
29*0c078e31SDaniel Almeida 		  "offset_for_non_ref_pic %d\n"
30*0c078e31SDaniel Almeida 		  "offset_for_top_to_bottom_field %d\n"
31*0c078e31SDaniel Almeida 		  "pic_width_in_mbs_minus1 %u\n"
32*0c078e31SDaniel Almeida 		  "pic_height_in_map_units_minus1 %u\n"
33*0c078e31SDaniel Almeida 		  "flags %s",
34*0c078e31SDaniel Almeida 		  __entry->s.profile_idc,
35*0c078e31SDaniel Almeida 		  __print_flags(__entry->s.constraint_set_flags, "|",
36*0c078e31SDaniel Almeida 		  {V4L2_H264_SPS_CONSTRAINT_SET0_FLAG, "CONSTRAINT_SET0_FLAG"},
37*0c078e31SDaniel Almeida 		  {V4L2_H264_SPS_CONSTRAINT_SET1_FLAG, "CONSTRAINT_SET1_FLAG"},
38*0c078e31SDaniel Almeida 		  {V4L2_H264_SPS_CONSTRAINT_SET2_FLAG, "CONSTRAINT_SET2_FLAG"},
39*0c078e31SDaniel Almeida 		  {V4L2_H264_SPS_CONSTRAINT_SET3_FLAG, "CONSTRAINT_SET3_FLAG"},
40*0c078e31SDaniel Almeida 		  {V4L2_H264_SPS_CONSTRAINT_SET4_FLAG, "CONSTRAINT_SET4_FLAG"},
41*0c078e31SDaniel Almeida 		  {V4L2_H264_SPS_CONSTRAINT_SET5_FLAG, "CONSTRAINT_SET5_FLAG"}),
42*0c078e31SDaniel Almeida 		  __entry->s.level_idc,
43*0c078e31SDaniel Almeida 		  __entry->s.seq_parameter_set_id,
44*0c078e31SDaniel Almeida 		  __entry->s.chroma_format_idc,
45*0c078e31SDaniel Almeida 		  __entry->s.bit_depth_luma_minus8,
46*0c078e31SDaniel Almeida 		  __entry->s.bit_depth_chroma_minus8,
47*0c078e31SDaniel Almeida 		  __entry->s.log2_max_frame_num_minus4,
48*0c078e31SDaniel Almeida 		  __entry->s.pic_order_cnt_type,
49*0c078e31SDaniel Almeida 		  __entry->s.log2_max_pic_order_cnt_lsb_minus4,
50*0c078e31SDaniel Almeida 		  __entry->s.max_num_ref_frames,
51*0c078e31SDaniel Almeida 		  __entry->s.num_ref_frames_in_pic_order_cnt_cycle,
52*0c078e31SDaniel Almeida 		  __print_array(__entry->s.offset_for_ref_frame,
53*0c078e31SDaniel Almeida 				ARRAY_SIZE(__entry->s.offset_for_ref_frame),
54*0c078e31SDaniel Almeida 				sizeof(__entry->s.offset_for_ref_frame[0])),
55*0c078e31SDaniel Almeida 		  __entry->s.offset_for_non_ref_pic,
56*0c078e31SDaniel Almeida 		  __entry->s.offset_for_top_to_bottom_field,
57*0c078e31SDaniel Almeida 		  __entry->s.pic_width_in_mbs_minus1,
58*0c078e31SDaniel Almeida 		  __entry->s.pic_height_in_map_units_minus1,
59*0c078e31SDaniel Almeida 		  __print_flags(__entry->s.flags, "|",
60*0c078e31SDaniel Almeida 		  {V4L2_H264_SPS_FLAG_SEPARATE_COLOUR_PLANE, "SEPARATE_COLOUR_PLANE"},
61*0c078e31SDaniel Almeida 		  {V4L2_H264_SPS_FLAG_QPPRIME_Y_ZERO_TRANSFORM_BYPASS, "QPPRIME_Y_ZERO_TRANSFORM_BYPASS"},
62*0c078e31SDaniel Almeida 		  {V4L2_H264_SPS_FLAG_DELTA_PIC_ORDER_ALWAYS_ZERO, "DELTA_PIC_ORDER_ALWAYS_ZERO"},
63*0c078e31SDaniel Almeida 		  {V4L2_H264_SPS_FLAG_GAPS_IN_FRAME_NUM_VALUE_ALLOWED, "GAPS_IN_FRAME_NUM_VALUE_ALLOWED"},
64*0c078e31SDaniel Almeida 		  {V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY, "FRAME_MBS_ONLY"},
65*0c078e31SDaniel Almeida 		  {V4L2_H264_SPS_FLAG_MB_ADAPTIVE_FRAME_FIELD, "MB_ADAPTIVE_FRAME_FIELD"},
66*0c078e31SDaniel Almeida 		  {V4L2_H264_SPS_FLAG_DIRECT_8X8_INFERENCE, "DIRECT_8X8_INFERENCE"}
67*0c078e31SDaniel Almeida 		  ))
68*0c078e31SDaniel Almeida );
69*0c078e31SDaniel Almeida 
70*0c078e31SDaniel Almeida DECLARE_EVENT_CLASS(v4l2_ctrl_h264_pps_tmpl,
71*0c078e31SDaniel Almeida 	TP_PROTO(const struct v4l2_ctrl_h264_pps *p),
72*0c078e31SDaniel Almeida 	TP_ARGS(p),
73*0c078e31SDaniel Almeida 	TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_h264_pps, p)),
74*0c078e31SDaniel Almeida 	TP_fast_assign(__entry->p = *p),
75*0c078e31SDaniel Almeida 	TP_printk("\npic_parameter_set_id %u\n"
76*0c078e31SDaniel Almeida 		  "seq_parameter_set_id %u\n"
77*0c078e31SDaniel Almeida 		  "num_slice_groups_minus1 %u\n"
78*0c078e31SDaniel Almeida 		  "num_ref_idx_l0_default_active_minus1 %u\n"
79*0c078e31SDaniel Almeida 		  "num_ref_idx_l1_default_active_minus1 %u\n"
80*0c078e31SDaniel Almeida 		  "weighted_bipred_idc %u\n"
81*0c078e31SDaniel Almeida 		  "pic_init_qp_minus26 %d\n"
82*0c078e31SDaniel Almeida 		  "pic_init_qs_minus26 %d\n"
83*0c078e31SDaniel Almeida 		  "chroma_qp_index_offset %d\n"
84*0c078e31SDaniel Almeida 		  "second_chroma_qp_index_offset %d\n"
85*0c078e31SDaniel Almeida 		  "flags %s",
86*0c078e31SDaniel Almeida 		  __entry->p.pic_parameter_set_id,
87*0c078e31SDaniel Almeida 		  __entry->p.seq_parameter_set_id,
88*0c078e31SDaniel Almeida 		  __entry->p.num_slice_groups_minus1,
89*0c078e31SDaniel Almeida 		  __entry->p.num_ref_idx_l0_default_active_minus1,
90*0c078e31SDaniel Almeida 		  __entry->p.num_ref_idx_l1_default_active_minus1,
91*0c078e31SDaniel Almeida 		  __entry->p.weighted_bipred_idc,
92*0c078e31SDaniel Almeida 		  __entry->p.pic_init_qp_minus26,
93*0c078e31SDaniel Almeida 		  __entry->p.pic_init_qs_minus26,
94*0c078e31SDaniel Almeida 		  __entry->p.chroma_qp_index_offset,
95*0c078e31SDaniel Almeida 		  __entry->p.second_chroma_qp_index_offset,
96*0c078e31SDaniel Almeida 		  __print_flags(__entry->p.flags, "|",
97*0c078e31SDaniel Almeida 		  {V4L2_H264_PPS_FLAG_ENTROPY_CODING_MODE, "ENTROPY_CODING_MODE"},
98*0c078e31SDaniel Almeida 		  {V4L2_H264_PPS_FLAG_BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT, "BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT"},
99*0c078e31SDaniel Almeida 		  {V4L2_H264_PPS_FLAG_WEIGHTED_PRED, "WEIGHTED_PRED"},
100*0c078e31SDaniel Almeida 		  {V4L2_H264_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT, "DEBLOCKING_FILTER_CONTROL_PRESENT"},
101*0c078e31SDaniel Almeida 		  {V4L2_H264_PPS_FLAG_CONSTRAINED_INTRA_PRED, "CONSTRAINED_INTRA_PRED"},
102*0c078e31SDaniel Almeida 		  {V4L2_H264_PPS_FLAG_REDUNDANT_PIC_CNT_PRESENT, "REDUNDANT_PIC_CNT_PRESENT"},
103*0c078e31SDaniel Almeida 		  {V4L2_H264_PPS_FLAG_TRANSFORM_8X8_MODE, "TRANSFORM_8X8_MODE"},
104*0c078e31SDaniel Almeida 		  {V4L2_H264_PPS_FLAG_SCALING_MATRIX_PRESENT, "SCALING_MATRIX_PRESENT"}
105*0c078e31SDaniel Almeida 		  ))
106*0c078e31SDaniel Almeida );
107*0c078e31SDaniel Almeida 
108*0c078e31SDaniel Almeida DECLARE_EVENT_CLASS(v4l2_ctrl_h264_scaling_matrix_tmpl,
109*0c078e31SDaniel Almeida 	TP_PROTO(const struct v4l2_ctrl_h264_scaling_matrix *s),
110*0c078e31SDaniel Almeida 	TP_ARGS(s),
111*0c078e31SDaniel Almeida 	TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_h264_scaling_matrix, s)),
112*0c078e31SDaniel Almeida 	TP_fast_assign(__entry->s = *s),
113*0c078e31SDaniel Almeida 	TP_printk("\nscaling_list_4x4 {%s}\nscaling_list_8x8 {%s}",
114*0c078e31SDaniel Almeida 		  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
115*0c078e31SDaniel Almeida 				   __entry->s.scaling_list_4x4,
116*0c078e31SDaniel Almeida 				   sizeof(__entry->s.scaling_list_4x4),
117*0c078e31SDaniel Almeida 				   false),
118*0c078e31SDaniel Almeida 		  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
119*0c078e31SDaniel Almeida 				   __entry->s.scaling_list_8x8,
120*0c078e31SDaniel Almeida 				   sizeof(__entry->s.scaling_list_8x8),
121*0c078e31SDaniel Almeida 				   false)
122*0c078e31SDaniel Almeida 	)
123*0c078e31SDaniel Almeida );
124*0c078e31SDaniel Almeida 
125*0c078e31SDaniel Almeida DECLARE_EVENT_CLASS(v4l2_ctrl_h264_pred_weights_tmpl,
126*0c078e31SDaniel Almeida 	TP_PROTO(const struct v4l2_ctrl_h264_pred_weights *p),
127*0c078e31SDaniel Almeida 	TP_ARGS(p),
128*0c078e31SDaniel Almeida 	TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_h264_pred_weights, p)),
129*0c078e31SDaniel Almeida 	TP_fast_assign(__entry->p = *p),
130*0c078e31SDaniel Almeida 	TP_printk("\nluma_log2_weight_denom %u\n"
131*0c078e31SDaniel Almeida 		  "chroma_log2_weight_denom %u\n"
132*0c078e31SDaniel Almeida 		  "weight_factor[0].luma_weight %s\n"
133*0c078e31SDaniel Almeida 		  "weight_factor[0].luma_offset %s\n"
134*0c078e31SDaniel Almeida 		  "weight_factor[0].chroma_weight {%s}\n"
135*0c078e31SDaniel Almeida 		  "weight_factor[0].chroma_offset {%s}\n"
136*0c078e31SDaniel Almeida 		  "weight_factor[1].luma_weight %s\n"
137*0c078e31SDaniel Almeida 		  "weight_factor[1].luma_offset %s\n"
138*0c078e31SDaniel Almeida 		  "weight_factor[1].chroma_weight {%s}\n"
139*0c078e31SDaniel Almeida 		  "weight_factor[1].chroma_offset {%s}\n",
140*0c078e31SDaniel Almeida 		  __entry->p.luma_log2_weight_denom,
141*0c078e31SDaniel Almeida 		  __entry->p.chroma_log2_weight_denom,
142*0c078e31SDaniel Almeida 		  __print_array(__entry->p.weight_factors[0].luma_weight,
143*0c078e31SDaniel Almeida 				ARRAY_SIZE(__entry->p.weight_factors[0].luma_weight),
144*0c078e31SDaniel Almeida 				sizeof(__entry->p.weight_factors[0].luma_weight[0])),
145*0c078e31SDaniel Almeida 		  __print_array(__entry->p.weight_factors[0].luma_offset,
146*0c078e31SDaniel Almeida 				ARRAY_SIZE(__entry->p.weight_factors[0].luma_offset),
147*0c078e31SDaniel Almeida 				sizeof(__entry->p.weight_factors[0].luma_offset[0])),
148*0c078e31SDaniel Almeida 		  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
149*0c078e31SDaniel Almeida 				   __entry->p.weight_factors[0].chroma_weight,
150*0c078e31SDaniel Almeida 				   sizeof(__entry->p.weight_factors[0].chroma_weight),
151*0c078e31SDaniel Almeida 				   false),
152*0c078e31SDaniel Almeida 		  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
153*0c078e31SDaniel Almeida 				   __entry->p.weight_factors[0].chroma_offset,
154*0c078e31SDaniel Almeida 				   sizeof(__entry->p.weight_factors[0].chroma_offset),
155*0c078e31SDaniel Almeida 				   false),
156*0c078e31SDaniel Almeida 		  __print_array(__entry->p.weight_factors[1].luma_weight,
157*0c078e31SDaniel Almeida 				ARRAY_SIZE(__entry->p.weight_factors[1].luma_weight),
158*0c078e31SDaniel Almeida 				sizeof(__entry->p.weight_factors[1].luma_weight[0])),
159*0c078e31SDaniel Almeida 		  __print_array(__entry->p.weight_factors[1].luma_offset,
160*0c078e31SDaniel Almeida 				ARRAY_SIZE(__entry->p.weight_factors[1].luma_offset),
161*0c078e31SDaniel Almeida 				sizeof(__entry->p.weight_factors[1].luma_offset[0])),
162*0c078e31SDaniel Almeida 		  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
163*0c078e31SDaniel Almeida 				   __entry->p.weight_factors[1].chroma_weight,
164*0c078e31SDaniel Almeida 				   sizeof(__entry->p.weight_factors[1].chroma_weight),
165*0c078e31SDaniel Almeida 				   false),
166*0c078e31SDaniel Almeida 		  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
167*0c078e31SDaniel Almeida 				   __entry->p.weight_factors[1].chroma_offset,
168*0c078e31SDaniel Almeida 				   sizeof(__entry->p.weight_factors[1].chroma_offset),
169*0c078e31SDaniel Almeida 				   false)
170*0c078e31SDaniel Almeida 	)
171*0c078e31SDaniel Almeida );
172*0c078e31SDaniel Almeida 
173*0c078e31SDaniel Almeida DECLARE_EVENT_CLASS(v4l2_ctrl_h264_slice_params_tmpl,
174*0c078e31SDaniel Almeida 	TP_PROTO(const struct v4l2_ctrl_h264_slice_params *s),
175*0c078e31SDaniel Almeida 	TP_ARGS(s),
176*0c078e31SDaniel Almeida 	TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_h264_slice_params, s)),
177*0c078e31SDaniel Almeida 	TP_fast_assign(__entry->s = *s),
178*0c078e31SDaniel Almeida 	TP_printk("\nheader_bit_size %u\n"
179*0c078e31SDaniel Almeida 		  "first_mb_in_slice %u\n"
180*0c078e31SDaniel Almeida 		  "slice_type %s\n"
181*0c078e31SDaniel Almeida 		  "colour_plane_id %u\n"
182*0c078e31SDaniel Almeida 		  "redundant_pic_cnt %u\n"
183*0c078e31SDaniel Almeida 		  "cabac_init_idc %u\n"
184*0c078e31SDaniel Almeida 		  "slice_qp_delta %d\n"
185*0c078e31SDaniel Almeida 		  "slice_qs_delta %d\n"
186*0c078e31SDaniel Almeida 		  "disable_deblocking_filter_idc %u\n"
187*0c078e31SDaniel Almeida 		  "slice_alpha_c0_offset_div2 %u\n"
188*0c078e31SDaniel Almeida 		  "slice_beta_offset_div2 %u\n"
189*0c078e31SDaniel Almeida 		  "num_ref_idx_l0_active_minus1 %u\n"
190*0c078e31SDaniel Almeida 		  "num_ref_idx_l1_active_minus1 %u\n"
191*0c078e31SDaniel Almeida 		  "flags %s",
192*0c078e31SDaniel Almeida 		  __entry->s.header_bit_size,
193*0c078e31SDaniel Almeida 		  __entry->s.first_mb_in_slice,
194*0c078e31SDaniel Almeida 		  __print_symbolic(__entry->s.slice_type,
195*0c078e31SDaniel Almeida 		  {V4L2_H264_SLICE_TYPE_P, "P"},
196*0c078e31SDaniel Almeida 		  {V4L2_H264_SLICE_TYPE_B, "B"},
197*0c078e31SDaniel Almeida 		  {V4L2_H264_SLICE_TYPE_I, "I"},
198*0c078e31SDaniel Almeida 		  {V4L2_H264_SLICE_TYPE_SP, "SP"},
199*0c078e31SDaniel Almeida 		  {V4L2_H264_SLICE_TYPE_SI, "SI"}),
200*0c078e31SDaniel Almeida 		  __entry->s.colour_plane_id,
201*0c078e31SDaniel Almeida 		  __entry->s.redundant_pic_cnt,
202*0c078e31SDaniel Almeida 		  __entry->s.cabac_init_idc,
203*0c078e31SDaniel Almeida 		  __entry->s.slice_qp_delta,
204*0c078e31SDaniel Almeida 		  __entry->s.slice_qs_delta,
205*0c078e31SDaniel Almeida 		  __entry->s.disable_deblocking_filter_idc,
206*0c078e31SDaniel Almeida 		  __entry->s.slice_alpha_c0_offset_div2,
207*0c078e31SDaniel Almeida 		  __entry->s.slice_beta_offset_div2,
208*0c078e31SDaniel Almeida 		  __entry->s.num_ref_idx_l0_active_minus1,
209*0c078e31SDaniel Almeida 		  __entry->s.num_ref_idx_l1_active_minus1,
210*0c078e31SDaniel Almeida 		  __print_flags(__entry->s.flags, "|",
211*0c078e31SDaniel Almeida 		  {V4L2_H264_SLICE_FLAG_DIRECT_SPATIAL_MV_PRED, "DIRECT_SPATIAL_MV_PRED"},
212*0c078e31SDaniel Almeida 		  {V4L2_H264_SLICE_FLAG_SP_FOR_SWITCH, "SP_FOR_SWITCH"})
213*0c078e31SDaniel Almeida 	)
214*0c078e31SDaniel Almeida );
215*0c078e31SDaniel Almeida 
216*0c078e31SDaniel Almeida DECLARE_EVENT_CLASS(v4l2_h264_reference_tmpl,
217*0c078e31SDaniel Almeida 	TP_PROTO(const struct v4l2_h264_reference *r, int i),
218*0c078e31SDaniel Almeida 	TP_ARGS(r, i),
219*0c078e31SDaniel Almeida 	TP_STRUCT__entry(__field_struct(struct v4l2_h264_reference, r)
220*0c078e31SDaniel Almeida 			 __field(int, i)),
221*0c078e31SDaniel Almeida 	TP_fast_assign(__entry->r = *r; __entry->i = i;),
222*0c078e31SDaniel Almeida 	TP_printk("[%d]: fields %s index %u",
223*0c078e31SDaniel Almeida 		  __entry->i,
224*0c078e31SDaniel Almeida 		  __print_flags(__entry->r.fields, "|",
225*0c078e31SDaniel Almeida 		  {V4L2_H264_TOP_FIELD_REF, "TOP_FIELD_REF"},
226*0c078e31SDaniel Almeida 		  {V4L2_H264_BOTTOM_FIELD_REF, "BOTTOM_FIELD_REF"},
227*0c078e31SDaniel Almeida 		  {V4L2_H264_FRAME_REF, "FRAME_REF"}),
228*0c078e31SDaniel Almeida 		  __entry->r.index
229*0c078e31SDaniel Almeida 	)
230*0c078e31SDaniel Almeida );
231*0c078e31SDaniel Almeida 
232*0c078e31SDaniel Almeida DECLARE_EVENT_CLASS(v4l2_ctrl_h264_decode_params_tmpl,
233*0c078e31SDaniel Almeida 	TP_PROTO(const struct v4l2_ctrl_h264_decode_params *d),
234*0c078e31SDaniel Almeida 	TP_ARGS(d),
235*0c078e31SDaniel Almeida 	TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_h264_decode_params, d)),
236*0c078e31SDaniel Almeida 	TP_fast_assign(__entry->d = *d),
237*0c078e31SDaniel Almeida 	TP_printk("\nnal_ref_idc %u\n"
238*0c078e31SDaniel Almeida 		  "frame_num %u\n"
239*0c078e31SDaniel Almeida 		  "top_field_order_cnt %d\n"
240*0c078e31SDaniel Almeida 		  "bottom_field_order_cnt %d\n"
241*0c078e31SDaniel Almeida 		  "idr_pic_id %u\n"
242*0c078e31SDaniel Almeida 		  "pic_order_cnt_lsb %u\n"
243*0c078e31SDaniel Almeida 		  "delta_pic_order_cnt_bottom %d\n"
244*0c078e31SDaniel Almeida 		  "delta_pic_order_cnt0 %d\n"
245*0c078e31SDaniel Almeida 		  "delta_pic_order_cnt1 %d\n"
246*0c078e31SDaniel Almeida 		  "dec_ref_pic_marking_bit_size %u\n"
247*0c078e31SDaniel Almeida 		  "pic_order_cnt_bit_size %u\n"
248*0c078e31SDaniel Almeida 		  "slice_group_change_cycle %u\n"
249*0c078e31SDaniel Almeida 		  "flags %s\n",
250*0c078e31SDaniel Almeida 		  __entry->d.nal_ref_idc,
251*0c078e31SDaniel Almeida 		  __entry->d.frame_num,
252*0c078e31SDaniel Almeida 		  __entry->d.top_field_order_cnt,
253*0c078e31SDaniel Almeida 		  __entry->d.bottom_field_order_cnt,
254*0c078e31SDaniel Almeida 		  __entry->d.idr_pic_id,
255*0c078e31SDaniel Almeida 		  __entry->d.pic_order_cnt_lsb,
256*0c078e31SDaniel Almeida 		  __entry->d.delta_pic_order_cnt_bottom,
257*0c078e31SDaniel Almeida 		  __entry->d.delta_pic_order_cnt0,
258*0c078e31SDaniel Almeida 		  __entry->d.delta_pic_order_cnt1,
259*0c078e31SDaniel Almeida 		  __entry->d.dec_ref_pic_marking_bit_size,
260*0c078e31SDaniel Almeida 		  __entry->d.pic_order_cnt_bit_size,
261*0c078e31SDaniel Almeida 		  __entry->d.slice_group_change_cycle,
262*0c078e31SDaniel Almeida 		  __print_flags(__entry->d.flags, "|",
263*0c078e31SDaniel Almeida 		  {V4L2_H264_DECODE_PARAM_FLAG_IDR_PIC, "IDR_PIC"},
264*0c078e31SDaniel Almeida 		  {V4L2_H264_DECODE_PARAM_FLAG_FIELD_PIC, "FIELD_PIC"},
265*0c078e31SDaniel Almeida 		  {V4L2_H264_DECODE_PARAM_FLAG_BOTTOM_FIELD, "BOTTOM_FIELD"},
266*0c078e31SDaniel Almeida 		  {V4L2_H264_DECODE_PARAM_FLAG_PFRAME, "PFRAME"},
267*0c078e31SDaniel Almeida 		  {V4L2_H264_DECODE_PARAM_FLAG_BFRAME, "BFRAME"})
268*0c078e31SDaniel Almeida 	)
269*0c078e31SDaniel Almeida );
270*0c078e31SDaniel Almeida 
271*0c078e31SDaniel Almeida DECLARE_EVENT_CLASS(v4l2_h264_dpb_entry_tmpl,
272*0c078e31SDaniel Almeida 	TP_PROTO(const struct v4l2_h264_dpb_entry *e, int i),
273*0c078e31SDaniel Almeida 	TP_ARGS(e, i),
274*0c078e31SDaniel Almeida 	TP_STRUCT__entry(__field_struct(struct v4l2_h264_dpb_entry, e)
275*0c078e31SDaniel Almeida 			 __field(int, i)),
276*0c078e31SDaniel Almeida 	TP_fast_assign(__entry->e = *e; __entry->i = i;),
277*0c078e31SDaniel Almeida 	TP_printk("[%d]: reference_ts %llu, pic_num %u frame_num %u fields %s "
278*0c078e31SDaniel Almeida 		  "top_field_order_cnt %d bottom_field_order_cnt %d flags %s",
279*0c078e31SDaniel Almeida 		  __entry->i,
280*0c078e31SDaniel Almeida 		  __entry->e.reference_ts,
281*0c078e31SDaniel Almeida 		  __entry->e.pic_num,
282*0c078e31SDaniel Almeida 		  __entry->e.frame_num,
283*0c078e31SDaniel Almeida 		  __print_flags(__entry->e.fields, "|",
284*0c078e31SDaniel Almeida 		  {V4L2_H264_TOP_FIELD_REF, "TOP_FIELD_REF"},
285*0c078e31SDaniel Almeida 		  {V4L2_H264_BOTTOM_FIELD_REF, "BOTTOM_FIELD_REF"},
286*0c078e31SDaniel Almeida 		  {V4L2_H264_FRAME_REF, "FRAME_REF"}),
287*0c078e31SDaniel Almeida 		  __entry->e.top_field_order_cnt,
288*0c078e31SDaniel Almeida 		  __entry->e.bottom_field_order_cnt,
289*0c078e31SDaniel Almeida 		  __print_flags(__entry->e.flags, "|",
290*0c078e31SDaniel Almeida 		  {V4L2_H264_DPB_ENTRY_FLAG_VALID, "VALID"},
291*0c078e31SDaniel Almeida 		  {V4L2_H264_DPB_ENTRY_FLAG_ACTIVE, "ACTIVE"},
292*0c078e31SDaniel Almeida 		  {V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM, "LONG_TERM"},
293*0c078e31SDaniel Almeida 		  {V4L2_H264_DPB_ENTRY_FLAG_FIELD, "FIELD"})
294*0c078e31SDaniel Almeida 
295*0c078e31SDaniel Almeida 	)
296*0c078e31SDaniel Almeida );
297*0c078e31SDaniel Almeida 
298*0c078e31SDaniel Almeida DEFINE_EVENT(v4l2_ctrl_h264_sps_tmpl, v4l2_ctrl_h264_sps,
299*0c078e31SDaniel Almeida 	TP_PROTO(const struct v4l2_ctrl_h264_sps *s),
300*0c078e31SDaniel Almeida 	TP_ARGS(s)
301*0c078e31SDaniel Almeida );
302*0c078e31SDaniel Almeida 
303*0c078e31SDaniel Almeida DEFINE_EVENT(v4l2_ctrl_h264_pps_tmpl, v4l2_ctrl_h264_pps,
304*0c078e31SDaniel Almeida 	TP_PROTO(const struct v4l2_ctrl_h264_pps *p),
305*0c078e31SDaniel Almeida 	TP_ARGS(p)
306*0c078e31SDaniel Almeida );
307*0c078e31SDaniel Almeida 
308*0c078e31SDaniel Almeida DEFINE_EVENT(v4l2_ctrl_h264_scaling_matrix_tmpl, v4l2_ctrl_h264_scaling_matrix,
309*0c078e31SDaniel Almeida 	TP_PROTO(const struct v4l2_ctrl_h264_scaling_matrix *s),
310*0c078e31SDaniel Almeida 	TP_ARGS(s)
311*0c078e31SDaniel Almeida );
312*0c078e31SDaniel Almeida 
313*0c078e31SDaniel Almeida DEFINE_EVENT(v4l2_ctrl_h264_pred_weights_tmpl, v4l2_ctrl_h264_pred_weights,
314*0c078e31SDaniel Almeida 	TP_PROTO(const struct v4l2_ctrl_h264_pred_weights *p),
315*0c078e31SDaniel Almeida 	TP_ARGS(p)
316*0c078e31SDaniel Almeida );
317*0c078e31SDaniel Almeida 
318*0c078e31SDaniel Almeida DEFINE_EVENT(v4l2_ctrl_h264_slice_params_tmpl, v4l2_ctrl_h264_slice_params,
319*0c078e31SDaniel Almeida 	TP_PROTO(const struct v4l2_ctrl_h264_slice_params *s),
320*0c078e31SDaniel Almeida 	TP_ARGS(s)
321*0c078e31SDaniel Almeida );
322*0c078e31SDaniel Almeida 
323*0c078e31SDaniel Almeida DEFINE_EVENT(v4l2_h264_reference_tmpl, v4l2_h264_ref_pic_list0,
324*0c078e31SDaniel Almeida 	TP_PROTO(const struct v4l2_h264_reference *r, int i),
325*0c078e31SDaniel Almeida 	TP_ARGS(r, i)
326*0c078e31SDaniel Almeida );
327*0c078e31SDaniel Almeida 
328*0c078e31SDaniel Almeida DEFINE_EVENT(v4l2_h264_reference_tmpl, v4l2_h264_ref_pic_list1,
329*0c078e31SDaniel Almeida 	TP_PROTO(const struct v4l2_h264_reference *r, int i),
330*0c078e31SDaniel Almeida 	TP_ARGS(r, i)
331*0c078e31SDaniel Almeida );
332*0c078e31SDaniel Almeida 
333*0c078e31SDaniel Almeida DEFINE_EVENT(v4l2_ctrl_h264_decode_params_tmpl, v4l2_ctrl_h264_decode_params,
334*0c078e31SDaniel Almeida 	TP_PROTO(const struct v4l2_ctrl_h264_decode_params *d),
335*0c078e31SDaniel Almeida 	TP_ARGS(d)
336*0c078e31SDaniel Almeida );
337*0c078e31SDaniel Almeida 
338*0c078e31SDaniel Almeida DEFINE_EVENT(v4l2_h264_dpb_entry_tmpl, v4l2_h264_dpb_entry,
339*0c078e31SDaniel Almeida 	TP_PROTO(const struct v4l2_h264_dpb_entry *e, int i),
340*0c078e31SDaniel Almeida 	TP_ARGS(e, i)
341*0c078e31SDaniel Almeida );
342*0c078e31SDaniel Almeida 
343*0c078e31SDaniel Almeida #endif
344*0c078e31SDaniel Almeida 
345*0c078e31SDaniel Almeida #undef TRACE_INCLUDE_PATH
346*0c078e31SDaniel Almeida #undef TRACE_INCLUDE_FILE
347*0c078e31SDaniel Almeida #define TRACE_INCLUDE_PATH ../../drivers/media/test-drivers/visl
348*0c078e31SDaniel Almeida #define TRACE_INCLUDE_FILE visl-trace-h264
349*0c078e31SDaniel Almeida #include <trace/define_trace.h>
350