Go to the documentation of this file.
12 #define TS_HEADER_MIN 4
13 #define PS_HEADER_L1 14
14 #define PS_HEADER_L2 (PS_HEADER_L1+24)
18 #define SYSTEM_START_CODE_S 0xB9
19 #define SYSTEM_START_CODE_E 0xFF
20 #define PACK_START 0xBA
21 #define SYS_START 0xBB
22 #define PROG_STREAM_MAP 0xBC
23 #define PRIVATE_STREAM1 0xBD
24 #define PADDING_STREAM 0xBE
25 #define PRIVATE_STREAM2 0xBF
26 #define AUDIO_STREAM_S 0xC0
27 #define AUDIO_STREAM_E 0xDF
28 #define VIDEO_STREAM_S 0xE0
29 #define VIDEO_STREAM_E 0xEF
30 #define ECM_STREAM 0xF0
31 #define EMM_STREAM 0xF1
32 #define DSM_CC_STREAM 0xF2
33 #define ISO13522_STREAM 0xF3
34 #define PROG_STREAM_DIR 0xFF
37 #define PTS_DTS_FLAGS 0xC0
38 #define ESCR_FLAG 0x20
39 #define ES_RATE_FLAG 0x10
40 #define DSM_TRICK_FLAG 0x08
41 #define ADD_CPY_FLAG 0x04
42 #define PES_CRC_FLAG 0x02
43 #define PES_EXT_FLAG 0x01
49 #define MAX_PLENGTH 0xFFFF
50 #define MMAX_PLENGTH (8*MAX_PLENGTH)
52 #define MAX_PTS (0x0000000200000000ULL)
53 #define MAX_PTS2 (300* MAX_PTS)
97 int64_t
ptsdiff(uint64_t pts1, uint64_t pts2);
98 uint64_t
uptsdiff(uint64_t pts1, uint64_t pts2);
99 int ptscmp(uint64_t pts1, uint64_t pts2);
100 uint64_t
ptsadd(uint64_t pts1, uint64_t pts2);
104 uint8_t *obuf,
int stuffing, uint8_t ptsdts);
106 uint64_t SCR, uint64_t muxr, uint8_t *buf);
109 uint32_t muxr, uint8_t *buf,
int *alength, uint8_t ptsdts,
110 int nframes,
int ac3_off,
ringbuffer *ac3rbuffer);
112 uint64_t SCR, uint32_t muxr, uint8_t *buf,
int *alength,
115 uint64_t vdts, uint64_t SCR, uint64_t muxr,
116 uint8_t *buf,
int *vlength,
118 int write_nav_pack(
int pack_size,
int extcnt, uint64_t SCR, uint32_t muxr,
122 static inline void ptsdec(uint64_t *pts1, uint64_t pts2)
127 static inline void ptsinc(uint64_t *pts1, uint64_t pts2)
void write_padding_pes(int pack_size, int extcnt, uint64_t SCR, uint64_t muxr, uint8_t *buf)
static void ptsdec(uint64_t *pts1, uint64_t pts2)
uint64_t ptsadd(uint64_t pts1, uint64_t pts2)
void get_pes(pes_in_t *p, uint8_t *buf, int count, void(*func)(pes_in_t *p))
void printpts(int64_t pts)
static void ptsinc(uint64_t *pts1, uint64_t pts2)
int write_nav_pack(int pack_size, int extcnt, uint64_t SCR, uint32_t muxr, uint8_t *buf)
uint64_t uptsdiff(uint64_t pts1, uint64_t pts2)
int write_ac3_pes(int pack_size, int extcnt, int n, uint64_t pts, uint64_t SCR, uint32_t muxr, uint8_t *buf, int *alength, uint8_t ptsdts, int nframes, int ac3_off, ringbuffer *ac3rbuffer)
int write_video_pes(int pack_size, int extcnt, uint64_t vpts, uint64_t vdts, uint64_t SCR, uint64_t muxr, uint8_t *buf, int *vlength, uint8_t ptsdts, ringbuffer *vrbuffer)
int write_audio_pes(int pack_size, int extcnt, int n, uint64_t pts, uint64_t SCR, uint32_t muxr, uint8_t *buf, int *alength, uint8_t ptsdts, ringbuffer *arbuffer)
void printptss(int64_t pts)
int write_pes_header(uint8_t id, int length, uint64_t PTS, uint64_t DTS, uint8_t *obuf, int stuffing, uint8_t ptsdts)
uint8_t sheader_llength[2]
std::chrono::duration< CHRONO_TYPE, std::ratio< 1, 90000 > > pts
void init_pes_in(pes_in_t *p, int type, ringbuffer *rb, int wi)
int64_t ptsdiff(uint64_t pts1, uint64_t pts2)
int ptscmp(uint64_t pts1, uint64_t pts2)