35#define PICTURE_START_CODE 0x00
36#define SLICE_START_CODE_S 0x01
38#define SLICE_START_CODE_E 0xAF
39#define EXCEPT_SLICE 0xb0
41#define USR_DATA_START_CODE 0xB2
42#define SEQUENCE_HDR_CODE 0xB3
43#define SEQUENCE_ERR_CODE 0xB4
44#define EXTENSION_START_CODE 0xB5
45#define SEQUENCE_END_CODE 0xB7
46#define GROUP_START_CODE 0xB8
48#define SEQUENCE_EXTENSION 0x01
49#define SEQUENCE_DISPLAY_EXTENSION 0x02
50#define PICTURE_CODING_EXTENSION 0x08
51#define QUANT_MATRIX_EXTENSION 0x03
52#define PICTURE_DISPLAY_EXTENSION 0x07
62#define VIDEO_FRAME_PICTURE 0x03
64#define MPG_TIMESTEP 90000ULL
68#define INTRAQ_FLAG 0x02
69#define NONINTRAQ_FLAG 0x01
71#define AUDIO_SYNCWORD 0x7ff
72#define AC3_SYNCWORD 0x0b77
78#define CLOCK_MS 27000LL
79#define CLOCK_PER 27000000000LL
80#define SEC_PER (CLOCK_PER/s->frame_rate)
134 uint64_t origpts, uint64_t
pts);
136 uint64_t
pts, uint64_t origdts, uint64_t dts);
139 int off,
int le,
int type);
int get_audio_info(ringbuffer *rbuf, audio_frame_t *af, int off, int le)
uint64_t add_pts_audio(uint64_t pts, audio_frame_t *aframe, uint64_t frames)
int find_audio_sync(ringbuffer *rbuf, audio_sync_buf &buf, int off, int type, int le)
void fix_audio_count(uint64_t *acount, audio_frame_t *aframe, uint64_t origpts, uint64_t pts)
int get_ac3_info(ringbuffer *rbuf, audio_frame_t *af, int off, int le)
int find_audio_s(const uint8_t *rbuf, int off, int type, int le)
uint64_t next_ptsdts_video(uint64_t *pts, sequence_t *s, uint64_t fcount, uint64_t gcount)
int get_video_ext_info(ringbuffer *rbuf, sequence_t *s, int off, int le)
std::array< uint8_t, 7 > audio_sync_buf
int get_video_info(ringbuffer *rbuf, sequence_t *s, int off, int le)
void pts2time(uint64_t pts, uint8_t *buf, int len)
int check_audio_header(ringbuffer *rbuf, audio_frame_t *af, int off, int le, int type)
void fix_video_count(sequence_t *s, uint64_t *frame, uint64_t origpts, uint64_t pts, uint64_t origdts, uint64_t dts)
std::chrono::duration< CHRONO_TYPE, std::ratio< 1, 90000 > > pts
uint8_t non_intra_quant[64]