Mercurial > libavformat.hg
comparison sierravmd.c @ 4102:dcaeec7bd85f libavformat
The POSIX namespace shall be held sacrosanct. To that end,
continue eliminating _t from structure names in FFmpeg.
author | melanson |
---|---|
date | Sun, 14 Dec 2008 03:29:33 +0000 |
parents | 549a09cf23fe |
children | e9ef9239086b |
comparison
equal
deleted
inserted
replaced
4101:af2c0aef892b | 4102:dcaeec7bd85f |
---|---|
37 int64_t frame_offset; | 37 int64_t frame_offset; |
38 unsigned int frame_size; | 38 unsigned int frame_size; |
39 int64_t pts; | 39 int64_t pts; |
40 int keyframe; | 40 int keyframe; |
41 unsigned char frame_record[BYTES_PER_FRAME_RECORD]; | 41 unsigned char frame_record[BYTES_PER_FRAME_RECORD]; |
42 } vmd_frame_t; | 42 } vmd_frame; |
43 | 43 |
44 typedef struct VmdDemuxContext { | 44 typedef struct VmdDemuxContext { |
45 int video_stream_index; | 45 int video_stream_index; |
46 int audio_stream_index; | 46 int audio_stream_index; |
47 | 47 |
48 unsigned int frame_count; | 48 unsigned int frame_count; |
49 unsigned int frames_per_block; | 49 unsigned int frames_per_block; |
50 vmd_frame_t *frame_table; | 50 vmd_frame *frame_table; |
51 unsigned int current_frame; | 51 unsigned int current_frame; |
52 | 52 |
53 int sample_rate; | 53 int sample_rate; |
54 int64_t audio_sample_counter; | 54 int64_t audio_sample_counter; |
55 int skiphdr; | 55 int skiphdr; |
144 | 144 |
145 raw_frame_table = NULL; | 145 raw_frame_table = NULL; |
146 vmd->frame_table = NULL; | 146 vmd->frame_table = NULL; |
147 sound_buffers = AV_RL16(&vmd->vmd_header[808]); | 147 sound_buffers = AV_RL16(&vmd->vmd_header[808]); |
148 raw_frame_table_size = vmd->frame_count * 6; | 148 raw_frame_table_size = vmd->frame_count * 6; |
149 if(vmd->frame_count * vmd->frames_per_block >= UINT_MAX / sizeof(vmd_frame_t)){ | 149 if(vmd->frame_count * vmd->frames_per_block >= UINT_MAX / sizeof(vmd_frame)){ |
150 av_log(s, AV_LOG_ERROR, "vmd->frame_count * vmd->frames_per_block too large\n"); | 150 av_log(s, AV_LOG_ERROR, "vmd->frame_count * vmd->frames_per_block too large\n"); |
151 return -1; | 151 return -1; |
152 } | 152 } |
153 raw_frame_table = av_malloc(raw_frame_table_size); | 153 raw_frame_table = av_malloc(raw_frame_table_size); |
154 vmd->frame_table = av_malloc((vmd->frame_count * vmd->frames_per_block + sound_buffers) * sizeof(vmd_frame_t)); | 154 vmd->frame_table = av_malloc((vmd->frame_count * vmd->frames_per_block + sound_buffers) * sizeof(vmd_frame)); |
155 if (!raw_frame_table || !vmd->frame_table) { | 155 if (!raw_frame_table || !vmd->frame_table) { |
156 av_free(raw_frame_table); | 156 av_free(raw_frame_table); |
157 av_free(vmd->frame_table); | 157 av_free(vmd->frame_table); |
158 return AVERROR(ENOMEM); | 158 return AVERROR(ENOMEM); |
159 } | 159 } |
246 AVPacket *pkt) | 246 AVPacket *pkt) |
247 { | 247 { |
248 VmdDemuxContext *vmd = s->priv_data; | 248 VmdDemuxContext *vmd = s->priv_data; |
249 ByteIOContext *pb = s->pb; | 249 ByteIOContext *pb = s->pb; |
250 int ret = 0; | 250 int ret = 0; |
251 vmd_frame_t *frame; | 251 vmd_frame *frame; |
252 | 252 |
253 if (vmd->current_frame >= vmd->frame_count) | 253 if (vmd->current_frame >= vmd->frame_count) |
254 return AVERROR(EIO); | 254 return AVERROR(EIO); |
255 | 255 |
256 frame = &vmd->frame_table[vmd->current_frame]; | 256 frame = &vmd->frame_table[vmd->current_frame]; |