34 #define VMD_HEADER_SIZE 0x0330
35 #define BYTES_PER_FRAME_RECORD 16
74 if (!w || w > 2048 || !h || h > 2048)
87 unsigned int toc_offset;
88 unsigned char *raw_frame_table;
89 int raw_frame_table_size;
90 int64_t current_offset;
92 unsigned int total_frames;
93 int64_t current_audio_pts = 0;
115 vst->codec->codec_tag = 0;
118 if(vmd->
is_indeo3 && vst->codec->width > 320){
119 vst->codec->width >>= 1;
120 vst->codec->height >>= 1;
151 av_reduce(&den, &num, den, num, (1UL<<31)-1);
161 raw_frame_table =
NULL;
169 raw_frame_table =
av_malloc(raw_frame_table_size);
175 if (
avio_read(pb, raw_frame_table, raw_frame_table_size) !=
176 raw_frame_table_size) {
184 current_offset =
AV_RL32(&raw_frame_table[6 * i + 2]);
194 if (size > INT_MAX / 2) {
199 if(!size && type != 1)
211 if(!current_audio_pts)
212 current_audio_pts += sound_buffers - 1;
225 current_offset +=
size;