• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/ap/gpl/minidlna/ffmpeg-0.5.1/libavformat/

Lines Matching defs:vmd

76     VmdDemuxContext *vmd = s->priv_data;
92 if (get_buffer(pb, vmd->vmd_header, VMD_HEADER_SIZE) != VMD_HEADER_SIZE)
95 if(vmd->vmd_header[16] == 'i' && vmd->vmd_header[17] == 'v' && vmd->vmd_header[18] == '3')
96 vmd->is_indeo3 = 1;
98 vmd->is_indeo3 = 0;
104 vmd->video_stream_index = vst->index;
106 vst->codec->codec_id = vmd->is_indeo3 ? CODEC_ID_INDEO3 : CODEC_ID_VMDVIDEO;
108 vst->codec->width = AV_RL16(&vmd->vmd_header[12]);
109 vst->codec->height = AV_RL16(&vmd->vmd_header[14]);
110 if(vmd->is_indeo3 && vst->codec->width > 320){
116 memcpy(vst->codec->extradata, vmd->vmd_header, VMD_HEADER_SIZE);
119 vmd->sample_rate = AV_RL16(&vmd->vmd_header[804]);
120 if (vmd->sample_rate) {
124 vmd->audio_stream_index = st->index;
128 st->codec->channels = (vmd->vmd_header[811] & 0x80) ? 2 : 1;
129 st->codec->sample_rate = vmd->sample_rate;
130 st->codec->block_align = AV_RL16(&vmd->vmd_header[806]);
148 toc_offset = AV_RL32(&vmd->vmd_header[812]);
149 vmd->frame_count = AV_RL16(&vmd->vmd_header[6]);
150 vmd->frames_per_block = AV_RL16(&vmd->vmd_header[18]);
154 vmd->frame_table = NULL;
155 sound_buffers = AV_RL16(&vmd->vmd_header[808]);
156 raw_frame_table_size = vmd->frame_count * 6;
157 if(vmd->frame_count * vmd->frames_per_block >= UINT_MAX / sizeof(vmd_frame)){
158 av_log(s, AV_LOG_ERROR, "vmd->frame_count * vmd->frames_per_block too large\n");
162 vmd->frame_table = av_malloc((vmd->frame_count * vmd->frames_per_block + sound_buffers) * sizeof(vmd_frame));
163 if (!raw_frame_table || !vmd->frame_table) {
165 av_free(vmd->frame_table);
171 av_free(vmd->frame_table);
176 for (i = 0; i < vmd->frame_count; i++) {
181 for (j = 0; j < vmd->frames_per_block; j++) {
194 vmd->frame_table[total_frames].frame_offset = current_offset;
195 vmd->frame_table[total_frames].stream_index = vmd->audio_stream_index;
196 vmd->frame_table[total_frames].frame_size = size;
197 memcpy(vmd->frame_table[total_frames].frame_record, chunk, BYTES_PER_FRAME_RECORD);
198 vmd->frame_table[total_frames].pts = current_audio_pts;
206 vmd->frame_table[total_frames].frame_offset = current_offset;
207 vmd->frame_table[total_frames].stream_index = vmd->video_stream_index;
208 vmd->frame_table[total_frames].frame_size = size;
209 memcpy(vmd->frame_table[total_frames].frame_record, chunk, BYTES_PER_FRAME_RECORD);
210 vmd->frame_table[total_frames].pts = i;
220 vmd->current_frame = 0;
221 vmd->frame_count = total_frames;
229 VmdDemuxContext *vmd = s->priv_data;
234 if (vmd->current_frame >= vmd->frame_count)
237 frame = &vmd->frame_table[vmd->current_frame];
245 if(vmd->is_indeo3)
262 vmd->current_frame++;
269 VmdDemuxContext *vmd = s->priv_data;
271 av_free(vmd->frame_table);
277 "vmd",