75
74
#define PULLDOWN32 1
76
75
#define PULLDOWN23 2
82
77
#define CLOCK_MS 27000ULL
83
78
#define CLOCK_PER 27000000000ULL
84
79
#define SEC_PER (CLOCK_PER/s->frame_rate)
88
NONE=0,AC3, MPEG_AUDIO, LPCM
83
NONE=0,AC3, MPEG_AUDIO, LPCM, MAX_TYPES
91
86
typedef struct sequence_s{
114
109
struct audio_frame_s{
121
112
uint32_t bit_rate;
122
113
uint32_t frequency;
124
115
uint32_t mode_extension;
125
116
uint32_t emphasis;
126
117
uint32_t framesize;
131
123
void pts2time(uint64_t pts, uint8_t *buf, int len);
132
int find_audio_sync(ringbuffer *rbuf, uint8_t *buf, long off, int type, int le);
133
int find_audio_s(uint8_t *rbuf, long off, int type, int le);
134
int get_video_info(ringbuffer *rbuf, sequence_t *s, long off, int le);
135
int get_audio_info(ringbuffer *rbuf, audio_frame_t *af, long off, int le, int verb);
136
int get_ac3_info(ringbuffer *rbuf, audio_frame_t *af, long off, int le, int verb);
124
int find_audio_sync(ringbuffer *rbuf, uint8_t *buf, int off, int type, int le);
125
int find_audio_s(uint8_t *rbuf, int off, int type, int le);
126
int get_video_info(ringbuffer *rbuf, sequence_t *s, int off, int le);
127
int get_audio_info(ringbuffer *rbuf, audio_frame_t *af, int off, int le);
128
int get_ac3_info(ringbuffer *rbuf, audio_frame_t *af, int off, int le);
137
129
uint64_t add_pts_audio(uint64_t pts, audio_frame_t *aframe, uint64_t frames);
138
130
uint64_t next_ptsdts_video(uint64_t *pts, sequence_t *s, uint64_t fcount, uint64_t gcount);
139
int cfix_audio_count(audio_frame_t *aframe, uint64_t origpts, uint64_t pts);
140
131
void fix_audio_count(uint64_t *acount, audio_frame_t *aframe,
141
132
uint64_t origpts, uint64_t pts);
142
133
void fix_video_count(sequence_t *s, uint64_t *frame, uint64_t origpts,
143
134
uint64_t pts, uint64_t origdts, uint64_t dts);
145
136
int check_audio_header(ringbuffer *rbuf, audio_frame_t * af,
146
long off, int le, int type);
147
int get_video_ext_info(ringbuffer *rbuf, sequence_t *s, long off, int le);
137
int off, int le, int type);
138
int get_video_ext_info(ringbuffer *rbuf, sequence_t *s, int off, int le);
149
140
#endif /*_ELEMENT_H_*/