• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/minidlna/ffmpeg-2.3.4/libavformat/

Lines Matching refs:vmd

87     VmdDemuxContext *vmd = s->priv_data;
104 if (avio_read(pb, vmd->vmd_header, VMD_HEADER_SIZE) != VMD_HEADER_SIZE)
107 width = AV_RL16(&vmd->vmd_header[12]);
108 height = AV_RL16(&vmd->vmd_header[14]);
110 if(vmd->vmd_header[24] == 'i' && vmd->vmd_header[25] == 'v' && vmd->vmd_header[26] == '3') {
111 vmd->is_indeo3 = 1;
113 vmd->is_indeo3 = 0;
120 vmd->video_stream_index = vst->index;
122 vst->codec->codec_id = vmd->is_indeo3 ? AV_CODEC_ID_INDEO3 : AV_CODEC_ID_VMDVIDEO;
126 if(vmd->is_indeo3 && vst->codec->width > 320){
132 memcpy(vst->codec->extradata, vmd->vmd_header, VMD_HEADER_SIZE);
136 vmd->sample_rate = AV_RL16(&vmd->vmd_header[804]);
137 if (vmd->sample_rate) {
141 vmd->audio_stream_index = st->index;
145 if (vmd->vmd_header[811] & 0x80) {
152 st->codec->sample_rate = vmd->sample_rate;
153 st->codec->block_align = AV_RL16(&vmd->vmd_header[806]);
172 toc_offset = AV_RL32(&vmd->vmd_header[812]);
173 vmd->frame_count = AV_RL16(&vmd->vmd_header[6]);
174 vmd->frames_per_block = AV_RL16(&vmd->vmd_header[18]);
178 vmd->frame_table = NULL;
179 sound_buffers = AV_RL16(&vmd->vmd_header[808]);
180 raw_frame_table_size = vmd->frame_count * 6;
181 if(vmd->frame_count * vmd->frames_per_block >= UINT_MAX / sizeof(vmd_frame) - sound_buffers){
182 av_log(s, AV_LOG_ERROR, "vmd->frame_count * vmd->frames_per_block too large\n");
186 vmd->frame_table = av_malloc((vmd->frame_count * vmd->frames_per_block + sound_buffers) * sizeof(vmd_frame));
187 if (!raw_frame_table || !vmd->frame_table) {
198 for (i = 0; i < vmd->frame_count; i++) {
203 for (j = 0; j < vmd->frames_per_block; j++) {
226 vmd->frame_table[total_frames].frame_offset = current_offset;
227 vmd->frame_table[total_frames].stream_index = vmd->audio_stream_index;
228 vmd->frame_table[total_frames].frame_size = size;
229 memcpy(vmd->frame_table[total_frames].frame_record, chunk, BYTES_PER_FRAME_RECORD);
230 vmd->frame_table[total_frames].pts = current_audio_pts;
238 vmd->frame_table[total_frames].frame_offset = current_offset;
239 vmd->frame_table[total_frames].stream_index = vmd->video_stream_index;
240 vmd->frame_table[total_frames].frame_size = size;
241 memcpy(vmd->frame_table[total_frames].frame_record, chunk, BYTES_PER_FRAME_RECORD);
242 vmd->frame_table[total_frames].pts = i;
252 vmd->current_frame = 0;
253 vmd->frame_count = total_frames;
259 av_freep(&vmd->frame_table);
266 VmdDemuxContext *vmd = s->priv_data;
271 if (vmd->current_frame >= vmd->frame_count)
274 frame = &vmd->frame_table[vmd->current_frame];
284 if(vmd->is_indeo3 && frame->frame_record[0] == 0x02)
301 vmd->current_frame++;
308 VmdDemuxContext *vmd = s->priv_data;
310 av_freep(&vmd->frame_table);
316 .name = "vmd",