36 #define VMD_HEADER_SIZE 0x0330
37 #define BYTES_PER_FRAME_RECORD 16
77 if ((!w || w > 2048 || !h || h > 2048) &&
90 unsigned int toc_offset;
91 unsigned char *raw_frame_table;
92 int raw_frame_table_size;
93 int64_t current_offset;
96 unsigned int total_frames;
97 int64_t current_audio_pts = 0;
109 if (width && height) {
123 vst->codec->codec_tag = 0;
124 vst->codec->width =
width;
125 vst->codec->height =
height;
126 if(vmd->
is_indeo3 && vst->codec->width > 320){
127 vst->codec->width >>= 1;
128 vst->codec->height >>= 1;
166 av_reduce(&num, &den, num, den, (1UL<<31)-1);
177 raw_frame_table = NULL;
185 raw_frame_table =
av_malloc(raw_frame_table_size);
191 if (
avio_read(pb, raw_frame_table, raw_frame_table_size) !=
192 raw_frame_table_size) {
200 current_offset =
AV_RL32(&raw_frame_table[6 * i + 2]);
210 if (size > INT_MAX / 2) {
215 if(!size && type != 1)
227 if(!current_audio_pts)
228 current_audio_pts += sound_buffers - 1;
241 current_offset +=
size;