brintos

brintos / linux-shallow public Read only

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