OSDN Git Service

initial files
[iptd/iPTd_R3.git] / src / mpeg2 / ts / Header.h
1 /**
2  * @file Header.h
3  *
4  */
5 #pragma once
6
7 #include <stdint.h>
8
9 namespace MPEG2
10 {
11 namespace TS
12 {
13
14 enum
15 {
16     SYNC_BYTE   = 0x47,
17     PACKET_SIZE = 188,
18 };
19
20 enum
21 {
22     PID_PAT         = 0x0000,
23     PID_CAT         = 0x0001,
24     PID_NIT         = 0x0010,
25     PID_SDT_BAT     = 0x0011,
26     PID_EIT_0012    = 0x0012,
27     PID_EIT_0026    = 0x0026,
28     PID_EIT_0027    = 0x0027,
29     PID_RST         = 0x0013,
30     PID_TDT         = 0x0014,
31 };
32
33 class Header
34 {
35 public:
36     uint8_t     _sync_byte;                     //  8
37     uint8_t     _transport_error;               //  1
38     uint8_t     _payload_unit_start;            //  1
39     uint8_t     _transport_priority;            //  1
40     uint16_t    _pid;                           // 13
41     uint8_t     _transport_scramble_control;    //  2
42     uint8_t     _adaptation_field_control;      //  2
43     uint8_t     _continuity_counter;            //  4
44
45     Header(uint8_t *packet);
46 };
47
48 } // TS
49 } // MPEG2