1 /* SPDX-License-Identifier: GPL-2.0 */
2 #if !defined(_VISL_TRACE_MPEG2_H_) || defined(TRACE_HEADER_MULTI_READ)
3 #define _VISL_TRACE_MPEG2_H_
5 #include <linux/tracepoint.h>
9 #define TRACE_SYSTEM visl_mpeg2_controls
11 DECLARE_EVENT_CLASS(v4l2_ctrl_mpeg2_seq_tmpl
,
12 TP_PROTO(const struct v4l2_ctrl_mpeg2_sequence
*s
),
14 TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_mpeg2_sequence
, s
)),
15 TP_fast_assign(__entry
->s
= *s
;),
16 TP_printk("\nhorizontal_size %u\nvertical_size %u\nvbv_buffer_size %u\n"
17 "profile_and_level_indication %u\nchroma_format %u\nflags %s\n",
18 __entry
->s
.horizontal_size
,
19 __entry
->s
.vertical_size
,
20 __entry
->s
.vbv_buffer_size
,
21 __entry
->s
.profile_and_level_indication
,
22 __entry
->s
.chroma_format
,
23 __print_flags(__entry
->s
.flags
, "|",
24 {V4L2_MPEG2_SEQ_FLAG_PROGRESSIVE
, "PROGRESSIVE"})
28 DECLARE_EVENT_CLASS(v4l2_ctrl_mpeg2_pic_tmpl
,
29 TP_PROTO(const struct v4l2_ctrl_mpeg2_picture
*p
),
31 TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_mpeg2_picture
, p
)),
32 TP_fast_assign(__entry
->p
= *p
;),
33 TP_printk("\nbackward_ref_ts %llu\nforward_ref_ts %llu\nflags %s\nf_code {%s}\n"
34 "picture_coding_type: %u\npicture_structure %u\nintra_dc_precision %u\n",
35 __entry
->p
.backward_ref_ts
,
36 __entry
->p
.forward_ref_ts
,
37 __print_flags(__entry
->p
.flags
, "|",
38 {V4L2_MPEG2_PIC_FLAG_TOP_FIELD_FIRST
, "TOP_FIELD_FIRST"},
39 {V4L2_MPEG2_PIC_FLAG_FRAME_PRED_DCT
, "FRAME_PRED_DCT"},
40 {V4L2_MPEG2_PIC_FLAG_CONCEALMENT_MV
, "CONCEALMENT_MV"},
41 {V4L2_MPEG2_PIC_FLAG_Q_SCALE_TYPE
, "Q_SCALE_TYPE"},
42 {V4L2_MPEG2_PIC_FLAG_INTRA_VLC
, "INTA_VLC"},
43 {V4L2_MPEG2_PIC_FLAG_ALT_SCAN
, "ALT_SCAN"},
44 {V4L2_MPEG2_PIC_FLAG_REPEAT_FIRST
, "REPEAT_FIRST"},
45 {V4L2_MPEG2_PIC_FLAG_PROGRESSIVE
, "PROGRESSIVE"}),
46 __print_hex_dump("", DUMP_PREFIX_NONE
, 32, 1,
48 sizeof(__entry
->p
.f_code
),
50 __entry
->p
.picture_coding_type
,
51 __entry
->p
.picture_structure
,
52 __entry
->p
.intra_dc_precision
56 DECLARE_EVENT_CLASS(v4l2_ctrl_mpeg2_quant_tmpl
,
57 TP_PROTO(const struct v4l2_ctrl_mpeg2_quantisation
*q
),
59 TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_mpeg2_quantisation
, q
)),
60 TP_fast_assign(__entry
->q
= *q
;),
61 TP_printk("\nintra_quantiser_matrix %s\nnon_intra_quantiser_matrix %s\n"
62 "chroma_intra_quantiser_matrix %s\nchroma_non_intra_quantiser_matrix %s\n",
63 __print_array(__entry
->q
.intra_quantiser_matrix
,
64 ARRAY_SIZE(__entry
->q
.intra_quantiser_matrix
),
65 sizeof(__entry
->q
.intra_quantiser_matrix
[0])),
66 __print_array(__entry
->q
.non_intra_quantiser_matrix
,
67 ARRAY_SIZE(__entry
->q
.non_intra_quantiser_matrix
),
68 sizeof(__entry
->q
.non_intra_quantiser_matrix
[0])),
69 __print_array(__entry
->q
.chroma_intra_quantiser_matrix
,
70 ARRAY_SIZE(__entry
->q
.chroma_intra_quantiser_matrix
),
71 sizeof(__entry
->q
.chroma_intra_quantiser_matrix
[0])),
72 __print_array(__entry
->q
.chroma_non_intra_quantiser_matrix
,
73 ARRAY_SIZE(__entry
->q
.chroma_non_intra_quantiser_matrix
),
74 sizeof(__entry
->q
.chroma_non_intra_quantiser_matrix
[0]))
78 DEFINE_EVENT(v4l2_ctrl_mpeg2_seq_tmpl
, v4l2_ctrl_mpeg2_sequence
,
79 TP_PROTO(const struct v4l2_ctrl_mpeg2_sequence
*s
),
83 DEFINE_EVENT(v4l2_ctrl_mpeg2_pic_tmpl
, v4l2_ctrl_mpeg2_picture
,
84 TP_PROTO(const struct v4l2_ctrl_mpeg2_picture
*p
),
88 DEFINE_EVENT(v4l2_ctrl_mpeg2_quant_tmpl
, v4l2_ctrl_mpeg2_quantisation
,
89 TP_PROTO(const struct v4l2_ctrl_mpeg2_quantisation
*q
),
95 #undef TRACE_INCLUDE_PATH
96 #undef TRACE_INCLUDE_FILE
97 #define TRACE_INCLUDE_PATH ../../drivers/media/test-drivers/visl
98 #define TRACE_INCLUDE_FILE visl-trace-mpeg2
99 #include <trace/define_trace.h>