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