162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#if !defined(_VISL_TRACE_H264_H_) || defined(TRACE_HEADER_MULTI_READ)
362306a36Sopenharmony_ci#define _VISL_TRACE_H264_H_
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#include <linux/tracepoint.h>
662306a36Sopenharmony_ci#include "visl.h"
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#undef TRACE_SYSTEM
962306a36Sopenharmony_ci#define TRACE_SYSTEM visl_h264_controls
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ciDECLARE_EVENT_CLASS(v4l2_ctrl_h264_sps_tmpl,
1262306a36Sopenharmony_ci	TP_PROTO(const struct v4l2_ctrl_h264_sps *s),
1362306a36Sopenharmony_ci	TP_ARGS(s),
1462306a36Sopenharmony_ci	TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_h264_sps, s)),
1562306a36Sopenharmony_ci	TP_fast_assign(__entry->s = *s),
1662306a36Sopenharmony_ci	TP_printk("\nprofile_idc %u\n"
1762306a36Sopenharmony_ci		  "constraint_set_flags %s\n"
1862306a36Sopenharmony_ci		  "level_idc %u\n"
1962306a36Sopenharmony_ci		  "seq_parameter_set_id %u\n"
2062306a36Sopenharmony_ci		  "chroma_format_idc %u\n"
2162306a36Sopenharmony_ci		  "bit_depth_luma_minus8 %u\n"
2262306a36Sopenharmony_ci		  "bit_depth_chroma_minus8 %u\n"
2362306a36Sopenharmony_ci		  "log2_max_frame_num_minus4 %u\n"
2462306a36Sopenharmony_ci		  "pic_order_cnt_type %u\n"
2562306a36Sopenharmony_ci		  "log2_max_pic_order_cnt_lsb_minus4 %u\n"
2662306a36Sopenharmony_ci		  "max_num_ref_frames %u\n"
2762306a36Sopenharmony_ci		  "num_ref_frames_in_pic_order_cnt_cycle %u\n"
2862306a36Sopenharmony_ci		  "offset_for_ref_frame %s\n"
2962306a36Sopenharmony_ci		  "offset_for_non_ref_pic %d\n"
3062306a36Sopenharmony_ci		  "offset_for_top_to_bottom_field %d\n"
3162306a36Sopenharmony_ci		  "pic_width_in_mbs_minus1 %u\n"
3262306a36Sopenharmony_ci		  "pic_height_in_map_units_minus1 %u\n"
3362306a36Sopenharmony_ci		  "flags %s",
3462306a36Sopenharmony_ci		  __entry->s.profile_idc,
3562306a36Sopenharmony_ci		  __print_flags(__entry->s.constraint_set_flags, "|",
3662306a36Sopenharmony_ci		  {V4L2_H264_SPS_CONSTRAINT_SET0_FLAG, "CONSTRAINT_SET0_FLAG"},
3762306a36Sopenharmony_ci		  {V4L2_H264_SPS_CONSTRAINT_SET1_FLAG, "CONSTRAINT_SET1_FLAG"},
3862306a36Sopenharmony_ci		  {V4L2_H264_SPS_CONSTRAINT_SET2_FLAG, "CONSTRAINT_SET2_FLAG"},
3962306a36Sopenharmony_ci		  {V4L2_H264_SPS_CONSTRAINT_SET3_FLAG, "CONSTRAINT_SET3_FLAG"},
4062306a36Sopenharmony_ci		  {V4L2_H264_SPS_CONSTRAINT_SET4_FLAG, "CONSTRAINT_SET4_FLAG"},
4162306a36Sopenharmony_ci		  {V4L2_H264_SPS_CONSTRAINT_SET5_FLAG, "CONSTRAINT_SET5_FLAG"}),
4262306a36Sopenharmony_ci		  __entry->s.level_idc,
4362306a36Sopenharmony_ci		  __entry->s.seq_parameter_set_id,
4462306a36Sopenharmony_ci		  __entry->s.chroma_format_idc,
4562306a36Sopenharmony_ci		  __entry->s.bit_depth_luma_minus8,
4662306a36Sopenharmony_ci		  __entry->s.bit_depth_chroma_minus8,
4762306a36Sopenharmony_ci		  __entry->s.log2_max_frame_num_minus4,
4862306a36Sopenharmony_ci		  __entry->s.pic_order_cnt_type,
4962306a36Sopenharmony_ci		  __entry->s.log2_max_pic_order_cnt_lsb_minus4,
5062306a36Sopenharmony_ci		  __entry->s.max_num_ref_frames,
5162306a36Sopenharmony_ci		  __entry->s.num_ref_frames_in_pic_order_cnt_cycle,
5262306a36Sopenharmony_ci		  __print_array(__entry->s.offset_for_ref_frame,
5362306a36Sopenharmony_ci				ARRAY_SIZE(__entry->s.offset_for_ref_frame),
5462306a36Sopenharmony_ci				sizeof(__entry->s.offset_for_ref_frame[0])),
5562306a36Sopenharmony_ci		  __entry->s.offset_for_non_ref_pic,
5662306a36Sopenharmony_ci		  __entry->s.offset_for_top_to_bottom_field,
5762306a36Sopenharmony_ci		  __entry->s.pic_width_in_mbs_minus1,
5862306a36Sopenharmony_ci		  __entry->s.pic_height_in_map_units_minus1,
5962306a36Sopenharmony_ci		  __print_flags(__entry->s.flags, "|",
6062306a36Sopenharmony_ci		  {V4L2_H264_SPS_FLAG_SEPARATE_COLOUR_PLANE, "SEPARATE_COLOUR_PLANE"},
6162306a36Sopenharmony_ci		  {V4L2_H264_SPS_FLAG_QPPRIME_Y_ZERO_TRANSFORM_BYPASS, "QPPRIME_Y_ZERO_TRANSFORM_BYPASS"},
6262306a36Sopenharmony_ci		  {V4L2_H264_SPS_FLAG_DELTA_PIC_ORDER_ALWAYS_ZERO, "DELTA_PIC_ORDER_ALWAYS_ZERO"},
6362306a36Sopenharmony_ci		  {V4L2_H264_SPS_FLAG_GAPS_IN_FRAME_NUM_VALUE_ALLOWED, "GAPS_IN_FRAME_NUM_VALUE_ALLOWED"},
6462306a36Sopenharmony_ci		  {V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY, "FRAME_MBS_ONLY"},
6562306a36Sopenharmony_ci		  {V4L2_H264_SPS_FLAG_MB_ADAPTIVE_FRAME_FIELD, "MB_ADAPTIVE_FRAME_FIELD"},
6662306a36Sopenharmony_ci		  {V4L2_H264_SPS_FLAG_DIRECT_8X8_INFERENCE, "DIRECT_8X8_INFERENCE"}
6762306a36Sopenharmony_ci		  ))
6862306a36Sopenharmony_ci);
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ciDECLARE_EVENT_CLASS(v4l2_ctrl_h264_pps_tmpl,
7162306a36Sopenharmony_ci	TP_PROTO(const struct v4l2_ctrl_h264_pps *p),
7262306a36Sopenharmony_ci	TP_ARGS(p),
7362306a36Sopenharmony_ci	TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_h264_pps, p)),
7462306a36Sopenharmony_ci	TP_fast_assign(__entry->p = *p),
7562306a36Sopenharmony_ci	TP_printk("\npic_parameter_set_id %u\n"
7662306a36Sopenharmony_ci		  "seq_parameter_set_id %u\n"
7762306a36Sopenharmony_ci		  "num_slice_groups_minus1 %u\n"
7862306a36Sopenharmony_ci		  "num_ref_idx_l0_default_active_minus1 %u\n"
7962306a36Sopenharmony_ci		  "num_ref_idx_l1_default_active_minus1 %u\n"
8062306a36Sopenharmony_ci		  "weighted_bipred_idc %u\n"
8162306a36Sopenharmony_ci		  "pic_init_qp_minus26 %d\n"
8262306a36Sopenharmony_ci		  "pic_init_qs_minus26 %d\n"
8362306a36Sopenharmony_ci		  "chroma_qp_index_offset %d\n"
8462306a36Sopenharmony_ci		  "second_chroma_qp_index_offset %d\n"
8562306a36Sopenharmony_ci		  "flags %s",
8662306a36Sopenharmony_ci		  __entry->p.pic_parameter_set_id,
8762306a36Sopenharmony_ci		  __entry->p.seq_parameter_set_id,
8862306a36Sopenharmony_ci		  __entry->p.num_slice_groups_minus1,
8962306a36Sopenharmony_ci		  __entry->p.num_ref_idx_l0_default_active_minus1,
9062306a36Sopenharmony_ci		  __entry->p.num_ref_idx_l1_default_active_minus1,
9162306a36Sopenharmony_ci		  __entry->p.weighted_bipred_idc,
9262306a36Sopenharmony_ci		  __entry->p.pic_init_qp_minus26,
9362306a36Sopenharmony_ci		  __entry->p.pic_init_qs_minus26,
9462306a36Sopenharmony_ci		  __entry->p.chroma_qp_index_offset,
9562306a36Sopenharmony_ci		  __entry->p.second_chroma_qp_index_offset,
9662306a36Sopenharmony_ci		  __print_flags(__entry->p.flags, "|",
9762306a36Sopenharmony_ci		  {V4L2_H264_PPS_FLAG_ENTROPY_CODING_MODE, "ENTROPY_CODING_MODE"},
9862306a36Sopenharmony_ci		  {V4L2_H264_PPS_FLAG_BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT, "BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT"},
9962306a36Sopenharmony_ci		  {V4L2_H264_PPS_FLAG_WEIGHTED_PRED, "WEIGHTED_PRED"},
10062306a36Sopenharmony_ci		  {V4L2_H264_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT, "DEBLOCKING_FILTER_CONTROL_PRESENT"},
10162306a36Sopenharmony_ci		  {V4L2_H264_PPS_FLAG_CONSTRAINED_INTRA_PRED, "CONSTRAINED_INTRA_PRED"},
10262306a36Sopenharmony_ci		  {V4L2_H264_PPS_FLAG_REDUNDANT_PIC_CNT_PRESENT, "REDUNDANT_PIC_CNT_PRESENT"},
10362306a36Sopenharmony_ci		  {V4L2_H264_PPS_FLAG_TRANSFORM_8X8_MODE, "TRANSFORM_8X8_MODE"},
10462306a36Sopenharmony_ci		  {V4L2_H264_PPS_FLAG_SCALING_MATRIX_PRESENT, "SCALING_MATRIX_PRESENT"}
10562306a36Sopenharmony_ci		  ))
10662306a36Sopenharmony_ci);
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ciDECLARE_EVENT_CLASS(v4l2_ctrl_h264_scaling_matrix_tmpl,
10962306a36Sopenharmony_ci	TP_PROTO(const struct v4l2_ctrl_h264_scaling_matrix *s),
11062306a36Sopenharmony_ci	TP_ARGS(s),
11162306a36Sopenharmony_ci	TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_h264_scaling_matrix, s)),
11262306a36Sopenharmony_ci	TP_fast_assign(__entry->s = *s),
11362306a36Sopenharmony_ci	TP_printk("\nscaling_list_4x4 {%s}\nscaling_list_8x8 {%s}",
11462306a36Sopenharmony_ci		  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
11562306a36Sopenharmony_ci				   __entry->s.scaling_list_4x4,
11662306a36Sopenharmony_ci				   sizeof(__entry->s.scaling_list_4x4),
11762306a36Sopenharmony_ci				   false),
11862306a36Sopenharmony_ci		  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
11962306a36Sopenharmony_ci				   __entry->s.scaling_list_8x8,
12062306a36Sopenharmony_ci				   sizeof(__entry->s.scaling_list_8x8),
12162306a36Sopenharmony_ci				   false)
12262306a36Sopenharmony_ci	)
12362306a36Sopenharmony_ci);
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ciDECLARE_EVENT_CLASS(v4l2_ctrl_h264_pred_weights_tmpl,
12662306a36Sopenharmony_ci	TP_PROTO(const struct v4l2_ctrl_h264_pred_weights *p),
12762306a36Sopenharmony_ci	TP_ARGS(p),
12862306a36Sopenharmony_ci	TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_h264_pred_weights, p)),
12962306a36Sopenharmony_ci	TP_fast_assign(__entry->p = *p),
13062306a36Sopenharmony_ci	TP_printk("\nluma_log2_weight_denom %u\n"
13162306a36Sopenharmony_ci		  "chroma_log2_weight_denom %u\n"
13262306a36Sopenharmony_ci		  "weight_factor[0].luma_weight %s\n"
13362306a36Sopenharmony_ci		  "weight_factor[0].luma_offset %s\n"
13462306a36Sopenharmony_ci		  "weight_factor[0].chroma_weight {%s}\n"
13562306a36Sopenharmony_ci		  "weight_factor[0].chroma_offset {%s}\n"
13662306a36Sopenharmony_ci		  "weight_factor[1].luma_weight %s\n"
13762306a36Sopenharmony_ci		  "weight_factor[1].luma_offset %s\n"
13862306a36Sopenharmony_ci		  "weight_factor[1].chroma_weight {%s}\n"
13962306a36Sopenharmony_ci		  "weight_factor[1].chroma_offset {%s}\n",
14062306a36Sopenharmony_ci		  __entry->p.luma_log2_weight_denom,
14162306a36Sopenharmony_ci		  __entry->p.chroma_log2_weight_denom,
14262306a36Sopenharmony_ci		  __print_array(__entry->p.weight_factors[0].luma_weight,
14362306a36Sopenharmony_ci				ARRAY_SIZE(__entry->p.weight_factors[0].luma_weight),
14462306a36Sopenharmony_ci				sizeof(__entry->p.weight_factors[0].luma_weight[0])),
14562306a36Sopenharmony_ci		  __print_array(__entry->p.weight_factors[0].luma_offset,
14662306a36Sopenharmony_ci				ARRAY_SIZE(__entry->p.weight_factors[0].luma_offset),
14762306a36Sopenharmony_ci				sizeof(__entry->p.weight_factors[0].luma_offset[0])),
14862306a36Sopenharmony_ci		  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
14962306a36Sopenharmony_ci				   __entry->p.weight_factors[0].chroma_weight,
15062306a36Sopenharmony_ci				   sizeof(__entry->p.weight_factors[0].chroma_weight),
15162306a36Sopenharmony_ci				   false),
15262306a36Sopenharmony_ci		  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
15362306a36Sopenharmony_ci				   __entry->p.weight_factors[0].chroma_offset,
15462306a36Sopenharmony_ci				   sizeof(__entry->p.weight_factors[0].chroma_offset),
15562306a36Sopenharmony_ci				   false),
15662306a36Sopenharmony_ci		  __print_array(__entry->p.weight_factors[1].luma_weight,
15762306a36Sopenharmony_ci				ARRAY_SIZE(__entry->p.weight_factors[1].luma_weight),
15862306a36Sopenharmony_ci				sizeof(__entry->p.weight_factors[1].luma_weight[0])),
15962306a36Sopenharmony_ci		  __print_array(__entry->p.weight_factors[1].luma_offset,
16062306a36Sopenharmony_ci				ARRAY_SIZE(__entry->p.weight_factors[1].luma_offset),
16162306a36Sopenharmony_ci				sizeof(__entry->p.weight_factors[1].luma_offset[0])),
16262306a36Sopenharmony_ci		  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
16362306a36Sopenharmony_ci				   __entry->p.weight_factors[1].chroma_weight,
16462306a36Sopenharmony_ci				   sizeof(__entry->p.weight_factors[1].chroma_weight),
16562306a36Sopenharmony_ci				   false),
16662306a36Sopenharmony_ci		  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
16762306a36Sopenharmony_ci				   __entry->p.weight_factors[1].chroma_offset,
16862306a36Sopenharmony_ci				   sizeof(__entry->p.weight_factors[1].chroma_offset),
16962306a36Sopenharmony_ci				   false)
17062306a36Sopenharmony_ci	)
17162306a36Sopenharmony_ci);
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ciDECLARE_EVENT_CLASS(v4l2_ctrl_h264_slice_params_tmpl,
17462306a36Sopenharmony_ci	TP_PROTO(const struct v4l2_ctrl_h264_slice_params *s),
17562306a36Sopenharmony_ci	TP_ARGS(s),
17662306a36Sopenharmony_ci	TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_h264_slice_params, s)),
17762306a36Sopenharmony_ci	TP_fast_assign(__entry->s = *s),
17862306a36Sopenharmony_ci	TP_printk("\nheader_bit_size %u\n"
17962306a36Sopenharmony_ci		  "first_mb_in_slice %u\n"
18062306a36Sopenharmony_ci		  "slice_type %s\n"
18162306a36Sopenharmony_ci		  "colour_plane_id %u\n"
18262306a36Sopenharmony_ci		  "redundant_pic_cnt %u\n"
18362306a36Sopenharmony_ci		  "cabac_init_idc %u\n"
18462306a36Sopenharmony_ci		  "slice_qp_delta %d\n"
18562306a36Sopenharmony_ci		  "slice_qs_delta %d\n"
18662306a36Sopenharmony_ci		  "disable_deblocking_filter_idc %u\n"
18762306a36Sopenharmony_ci		  "slice_alpha_c0_offset_div2 %u\n"
18862306a36Sopenharmony_ci		  "slice_beta_offset_div2 %u\n"
18962306a36Sopenharmony_ci		  "num_ref_idx_l0_active_minus1 %u\n"
19062306a36Sopenharmony_ci		  "num_ref_idx_l1_active_minus1 %u\n"
19162306a36Sopenharmony_ci		  "flags %s",
19262306a36Sopenharmony_ci		  __entry->s.header_bit_size,
19362306a36Sopenharmony_ci		  __entry->s.first_mb_in_slice,
19462306a36Sopenharmony_ci		  __print_symbolic(__entry->s.slice_type,
19562306a36Sopenharmony_ci		  {V4L2_H264_SLICE_TYPE_P, "P"},
19662306a36Sopenharmony_ci		  {V4L2_H264_SLICE_TYPE_B, "B"},
19762306a36Sopenharmony_ci		  {V4L2_H264_SLICE_TYPE_I, "I"},
19862306a36Sopenharmony_ci		  {V4L2_H264_SLICE_TYPE_SP, "SP"},
19962306a36Sopenharmony_ci		  {V4L2_H264_SLICE_TYPE_SI, "SI"}),
20062306a36Sopenharmony_ci		  __entry->s.colour_plane_id,
20162306a36Sopenharmony_ci		  __entry->s.redundant_pic_cnt,
20262306a36Sopenharmony_ci		  __entry->s.cabac_init_idc,
20362306a36Sopenharmony_ci		  __entry->s.slice_qp_delta,
20462306a36Sopenharmony_ci		  __entry->s.slice_qs_delta,
20562306a36Sopenharmony_ci		  __entry->s.disable_deblocking_filter_idc,
20662306a36Sopenharmony_ci		  __entry->s.slice_alpha_c0_offset_div2,
20762306a36Sopenharmony_ci		  __entry->s.slice_beta_offset_div2,
20862306a36Sopenharmony_ci		  __entry->s.num_ref_idx_l0_active_minus1,
20962306a36Sopenharmony_ci		  __entry->s.num_ref_idx_l1_active_minus1,
21062306a36Sopenharmony_ci		  __print_flags(__entry->s.flags, "|",
21162306a36Sopenharmony_ci		  {V4L2_H264_SLICE_FLAG_DIRECT_SPATIAL_MV_PRED, "DIRECT_SPATIAL_MV_PRED"},
21262306a36Sopenharmony_ci		  {V4L2_H264_SLICE_FLAG_SP_FOR_SWITCH, "SP_FOR_SWITCH"})
21362306a36Sopenharmony_ci	)
21462306a36Sopenharmony_ci);
21562306a36Sopenharmony_ci
21662306a36Sopenharmony_ciDECLARE_EVENT_CLASS(v4l2_h264_reference_tmpl,
21762306a36Sopenharmony_ci	TP_PROTO(const struct v4l2_h264_reference *r, int i),
21862306a36Sopenharmony_ci	TP_ARGS(r, i),
21962306a36Sopenharmony_ci	TP_STRUCT__entry(__field_struct(struct v4l2_h264_reference, r)
22062306a36Sopenharmony_ci			 __field(int, i)),
22162306a36Sopenharmony_ci	TP_fast_assign(__entry->r = *r; __entry->i = i;),
22262306a36Sopenharmony_ci	TP_printk("[%d]: fields %s index %u",
22362306a36Sopenharmony_ci		  __entry->i,
22462306a36Sopenharmony_ci		  __print_flags(__entry->r.fields, "|",
22562306a36Sopenharmony_ci		  {V4L2_H264_TOP_FIELD_REF, "TOP_FIELD_REF"},
22662306a36Sopenharmony_ci		  {V4L2_H264_BOTTOM_FIELD_REF, "BOTTOM_FIELD_REF"},
22762306a36Sopenharmony_ci		  {V4L2_H264_FRAME_REF, "FRAME_REF"}),
22862306a36Sopenharmony_ci		  __entry->r.index
22962306a36Sopenharmony_ci	)
23062306a36Sopenharmony_ci);
23162306a36Sopenharmony_ci
23262306a36Sopenharmony_ciDECLARE_EVENT_CLASS(v4l2_ctrl_h264_decode_params_tmpl,
23362306a36Sopenharmony_ci	TP_PROTO(const struct v4l2_ctrl_h264_decode_params *d),
23462306a36Sopenharmony_ci	TP_ARGS(d),
23562306a36Sopenharmony_ci	TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_h264_decode_params, d)),
23662306a36Sopenharmony_ci	TP_fast_assign(__entry->d = *d),
23762306a36Sopenharmony_ci	TP_printk("\nnal_ref_idc %u\n"
23862306a36Sopenharmony_ci		  "frame_num %u\n"
23962306a36Sopenharmony_ci		  "top_field_order_cnt %d\n"
24062306a36Sopenharmony_ci		  "bottom_field_order_cnt %d\n"
24162306a36Sopenharmony_ci		  "idr_pic_id %u\n"
24262306a36Sopenharmony_ci		  "pic_order_cnt_lsb %u\n"
24362306a36Sopenharmony_ci		  "delta_pic_order_cnt_bottom %d\n"
24462306a36Sopenharmony_ci		  "delta_pic_order_cnt0 %d\n"
24562306a36Sopenharmony_ci		  "delta_pic_order_cnt1 %d\n"
24662306a36Sopenharmony_ci		  "dec_ref_pic_marking_bit_size %u\n"
24762306a36Sopenharmony_ci		  "pic_order_cnt_bit_size %u\n"
24862306a36Sopenharmony_ci		  "slice_group_change_cycle %u\n"
24962306a36Sopenharmony_ci		  "flags %s\n",
25062306a36Sopenharmony_ci		  __entry->d.nal_ref_idc,
25162306a36Sopenharmony_ci		  __entry->d.frame_num,
25262306a36Sopenharmony_ci		  __entry->d.top_field_order_cnt,
25362306a36Sopenharmony_ci		  __entry->d.bottom_field_order_cnt,
25462306a36Sopenharmony_ci		  __entry->d.idr_pic_id,
25562306a36Sopenharmony_ci		  __entry->d.pic_order_cnt_lsb,
25662306a36Sopenharmony_ci		  __entry->d.delta_pic_order_cnt_bottom,
25762306a36Sopenharmony_ci		  __entry->d.delta_pic_order_cnt0,
25862306a36Sopenharmony_ci		  __entry->d.delta_pic_order_cnt1,
25962306a36Sopenharmony_ci		  __entry->d.dec_ref_pic_marking_bit_size,
26062306a36Sopenharmony_ci		  __entry->d.pic_order_cnt_bit_size,
26162306a36Sopenharmony_ci		  __entry->d.slice_group_change_cycle,
26262306a36Sopenharmony_ci		  __print_flags(__entry->d.flags, "|",
26362306a36Sopenharmony_ci		  {V4L2_H264_DECODE_PARAM_FLAG_IDR_PIC, "IDR_PIC"},
26462306a36Sopenharmony_ci		  {V4L2_H264_DECODE_PARAM_FLAG_FIELD_PIC, "FIELD_PIC"},
26562306a36Sopenharmony_ci		  {V4L2_H264_DECODE_PARAM_FLAG_BOTTOM_FIELD, "BOTTOM_FIELD"},
26662306a36Sopenharmony_ci		  {V4L2_H264_DECODE_PARAM_FLAG_PFRAME, "PFRAME"},
26762306a36Sopenharmony_ci		  {V4L2_H264_DECODE_PARAM_FLAG_BFRAME, "BFRAME"})
26862306a36Sopenharmony_ci	)
26962306a36Sopenharmony_ci);
27062306a36Sopenharmony_ci
27162306a36Sopenharmony_ciDECLARE_EVENT_CLASS(v4l2_h264_dpb_entry_tmpl,
27262306a36Sopenharmony_ci	TP_PROTO(const struct v4l2_h264_dpb_entry *e, int i),
27362306a36Sopenharmony_ci	TP_ARGS(e, i),
27462306a36Sopenharmony_ci	TP_STRUCT__entry(__field_struct(struct v4l2_h264_dpb_entry, e)
27562306a36Sopenharmony_ci			 __field(int, i)),
27662306a36Sopenharmony_ci	TP_fast_assign(__entry->e = *e; __entry->i = i;),
27762306a36Sopenharmony_ci	TP_printk("[%d]: reference_ts %llu, pic_num %u frame_num %u fields %s "
27862306a36Sopenharmony_ci		  "top_field_order_cnt %d bottom_field_order_cnt %d flags %s",
27962306a36Sopenharmony_ci		  __entry->i,
28062306a36Sopenharmony_ci		  __entry->e.reference_ts,
28162306a36Sopenharmony_ci		  __entry->e.pic_num,
28262306a36Sopenharmony_ci		  __entry->e.frame_num,
28362306a36Sopenharmony_ci		  __print_flags(__entry->e.fields, "|",
28462306a36Sopenharmony_ci		  {V4L2_H264_TOP_FIELD_REF, "TOP_FIELD_REF"},
28562306a36Sopenharmony_ci		  {V4L2_H264_BOTTOM_FIELD_REF, "BOTTOM_FIELD_REF"},
28662306a36Sopenharmony_ci		  {V4L2_H264_FRAME_REF, "FRAME_REF"}),
28762306a36Sopenharmony_ci		  __entry->e.top_field_order_cnt,
28862306a36Sopenharmony_ci		  __entry->e.bottom_field_order_cnt,
28962306a36Sopenharmony_ci		  __print_flags(__entry->e.flags, "|",
29062306a36Sopenharmony_ci		  {V4L2_H264_DPB_ENTRY_FLAG_VALID, "VALID"},
29162306a36Sopenharmony_ci		  {V4L2_H264_DPB_ENTRY_FLAG_ACTIVE, "ACTIVE"},
29262306a36Sopenharmony_ci		  {V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM, "LONG_TERM"},
29362306a36Sopenharmony_ci		  {V4L2_H264_DPB_ENTRY_FLAG_FIELD, "FIELD"})
29462306a36Sopenharmony_ci
29562306a36Sopenharmony_ci	)
29662306a36Sopenharmony_ci);
29762306a36Sopenharmony_ci
29862306a36Sopenharmony_ciDEFINE_EVENT(v4l2_ctrl_h264_sps_tmpl, v4l2_ctrl_h264_sps,
29962306a36Sopenharmony_ci	TP_PROTO(const struct v4l2_ctrl_h264_sps *s),
30062306a36Sopenharmony_ci	TP_ARGS(s)
30162306a36Sopenharmony_ci);
30262306a36Sopenharmony_ci
30362306a36Sopenharmony_ciDEFINE_EVENT(v4l2_ctrl_h264_pps_tmpl, v4l2_ctrl_h264_pps,
30462306a36Sopenharmony_ci	TP_PROTO(const struct v4l2_ctrl_h264_pps *p),
30562306a36Sopenharmony_ci	TP_ARGS(p)
30662306a36Sopenharmony_ci);
30762306a36Sopenharmony_ci
30862306a36Sopenharmony_ciDEFINE_EVENT(v4l2_ctrl_h264_scaling_matrix_tmpl, v4l2_ctrl_h264_scaling_matrix,
30962306a36Sopenharmony_ci	TP_PROTO(const struct v4l2_ctrl_h264_scaling_matrix *s),
31062306a36Sopenharmony_ci	TP_ARGS(s)
31162306a36Sopenharmony_ci);
31262306a36Sopenharmony_ci
31362306a36Sopenharmony_ciDEFINE_EVENT(v4l2_ctrl_h264_pred_weights_tmpl, v4l2_ctrl_h264_pred_weights,
31462306a36Sopenharmony_ci	TP_PROTO(const struct v4l2_ctrl_h264_pred_weights *p),
31562306a36Sopenharmony_ci	TP_ARGS(p)
31662306a36Sopenharmony_ci);
31762306a36Sopenharmony_ci
31862306a36Sopenharmony_ciDEFINE_EVENT(v4l2_ctrl_h264_slice_params_tmpl, v4l2_ctrl_h264_slice_params,
31962306a36Sopenharmony_ci	TP_PROTO(const struct v4l2_ctrl_h264_slice_params *s),
32062306a36Sopenharmony_ci	TP_ARGS(s)
32162306a36Sopenharmony_ci);
32262306a36Sopenharmony_ci
32362306a36Sopenharmony_ciDEFINE_EVENT(v4l2_h264_reference_tmpl, v4l2_h264_ref_pic_list0,
32462306a36Sopenharmony_ci	TP_PROTO(const struct v4l2_h264_reference *r, int i),
32562306a36Sopenharmony_ci	TP_ARGS(r, i)
32662306a36Sopenharmony_ci);
32762306a36Sopenharmony_ci
32862306a36Sopenharmony_ciDEFINE_EVENT(v4l2_h264_reference_tmpl, v4l2_h264_ref_pic_list1,
32962306a36Sopenharmony_ci	TP_PROTO(const struct v4l2_h264_reference *r, int i),
33062306a36Sopenharmony_ci	TP_ARGS(r, i)
33162306a36Sopenharmony_ci);
33262306a36Sopenharmony_ci
33362306a36Sopenharmony_ciDEFINE_EVENT(v4l2_ctrl_h264_decode_params_tmpl, v4l2_ctrl_h264_decode_params,
33462306a36Sopenharmony_ci	TP_PROTO(const struct v4l2_ctrl_h264_decode_params *d),
33562306a36Sopenharmony_ci	TP_ARGS(d)
33662306a36Sopenharmony_ci);
33762306a36Sopenharmony_ci
33862306a36Sopenharmony_ciDEFINE_EVENT(v4l2_h264_dpb_entry_tmpl, v4l2_h264_dpb_entry,
33962306a36Sopenharmony_ci	TP_PROTO(const struct v4l2_h264_dpb_entry *e, int i),
34062306a36Sopenharmony_ci	TP_ARGS(e, i)
34162306a36Sopenharmony_ci);
34262306a36Sopenharmony_ci
34362306a36Sopenharmony_ci#endif
34462306a36Sopenharmony_ci
34562306a36Sopenharmony_ci#undef TRACE_INCLUDE_PATH
34662306a36Sopenharmony_ci#undef TRACE_INCLUDE_FILE
34762306a36Sopenharmony_ci#define TRACE_INCLUDE_PATH ../../drivers/media/test-drivers/visl
34862306a36Sopenharmony_ci#define TRACE_INCLUDE_FILE visl-trace-h264
34962306a36Sopenharmony_ci#include <trace/define_trace.h>
350