initial commit
[arib_std_b25.git] / src / ts_common_types.h
blobf9b07b94fdb04cbb7a8371a048cec84e4b183a45
1 #ifndef TS_COMMON_TYPES_H
2 #define TS_COMMON_TYPES_H
4 #include "portable.h"
6 typedef struct {
7 int32_t sync; /* 0- 7 : 8 bits */
8 int32_t transport_error_indicator; /* 8- 8 : 1 bit */
9 int32_t payload_unit_start_indicator; /* 9- 9 : 1 bit */
10 int32_t transport_priority; /* 10-10 : 1 bits */
11 int32_t pid; /* 11-23 : 13 bits */
12 int32_t transport_scrambling_control; /* 24-25 : 2 bits */
13 int32_t adaptation_field_control; /* 26-27 : 2 bits */
14 int32_t continuity_counter; /* 28-31 : 4 bits */
15 } TS_HEADER;
17 typedef struct {
18 int32_t table_id; /* 0- 7 : 8 bits */
19 int32_t section_syntax_indicator; /* 8- 8 : 1 bit */
20 int32_t private_indicator; /* 9- 9 : 1 bit */
21 int32_t section_length; /* 12-23 : 12 bits */
22 int32_t table_id_extension; /* 24-39 : 16 bits */
23 int32_t version_number; /* 42-46 : 5 bits */
24 int32_t current_next_indicator; /* 47-57 : 1 bit */
25 int32_t section_number; /* 48-55 : 8 bits */
26 int32_t last_section_number; /* 56-63 : 8 bits */
27 } TS_SECTION_HEADER;
29 typedef struct {
30 TS_SECTION_HEADER hdr;
31 uint8_t *raw;
32 uint8_t *data;
33 uint8_t *tail;
34 } TS_SECTION;
36 #endif /* TS_COMMON_TYPES_H */