Mercurial > audlegacy
comparison Plugins/Input/wma/libffwma/futils.c @ 1398:1ddaf20ab50e trunk
[svn] AltiVec support for WMA, by Luca "lu_zero" Barbato from Gentoo.
author | chainsaw |
---|---|
date | Thu, 13 Jul 2006 16:01:57 -0700 |
parents | d539e5c5f730 |
children | f12d7e208b43 |
comparison
equal
deleted
inserted
replaced
1397:86242883ddc7 | 1398:1ddaf20ab50e |
---|---|
144 * @param size wanted payload size | 144 * @param size wanted payload size |
145 * @return 0 if OK. AVERROR_xxx otherwise. | 145 * @return 0 if OK. AVERROR_xxx otherwise. |
146 */ | 146 */ |
147 int av_new_packet(AVPacket *pkt, int size) | 147 int av_new_packet(AVPacket *pkt, int size) |
148 { | 148 { |
149 unsigned char *data = malloc(size + FF_INPUT_BUFFER_PADDING_SIZE); | 149 unsigned char *data = av_malloc(size + FF_INPUT_BUFFER_PADDING_SIZE); |
150 if (!data) | 150 if (!data) |
151 return AVERROR_NOMEM; | 151 return AVERROR_NOMEM; |
152 memset(data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE); | 152 memset(data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE); |
153 | 153 |
154 av_init_packet(pkt); | 154 av_init_packet(pkt); |
164 { | 164 { |
165 if (pkt->destruct != av_destruct_packet) { | 165 if (pkt->destruct != av_destruct_packet) { |
166 uint8_t *data; | 166 uint8_t *data; |
167 /* we duplicate the packet and don't forget to put the padding | 167 /* we duplicate the packet and don't forget to put the padding |
168 again */ | 168 again */ |
169 data = malloc(pkt->size + FF_INPUT_BUFFER_PADDING_SIZE); | 169 data = av_malloc(pkt->size + FF_INPUT_BUFFER_PADDING_SIZE); |
170 if (!data) { | 170 if (!data) { |
171 return AVERROR_NOMEM; | 171 return AVERROR_NOMEM; |
172 } | 172 } |
173 memcpy(data, pkt->data, pkt->size); | 173 memcpy(data, pkt->data, pkt->size); |
174 memset(data + pkt->size, 0, FF_INPUT_BUFFER_PADDING_SIZE); | 174 memset(data + pkt->size, 0, FF_INPUT_BUFFER_PADDING_SIZE); |
180 | 180 |
181 /* fifo handling */ | 181 /* fifo handling */ |
182 | 182 |
183 int fifo_init(FifoBuffer *f, int size) | 183 int fifo_init(FifoBuffer *f, int size) |
184 { | 184 { |
185 f->buffer = malloc(size); | 185 f->buffer = av_malloc(size); |
186 if (!f->buffer) | 186 if (!f->buffer) |
187 return -1; | 187 return -1; |
188 f->end = f->buffer + size; | 188 f->end = f->buffer + size; |
189 f->wptr = f->rptr = f->buffer; | 189 f->wptr = f->rptr = f->buffer; |
190 return 0; | 190 return 0; |
1298 ret = avcodec_open(&st->codec, codec); | 1298 ret = avcodec_open(&st->codec, codec); |
1299 if (ret < 0) | 1299 if (ret < 0) |
1300 return ret; | 1300 return ret; |
1301 switch(st->codec.codec_type) { | 1301 switch(st->codec.codec_type) { |
1302 case CODEC_TYPE_AUDIO: | 1302 case CODEC_TYPE_AUDIO: |
1303 samples = malloc(AVCODEC_MAX_AUDIO_FRAME_SIZE); | 1303 samples = av_malloc(AVCODEC_MAX_AUDIO_FRAME_SIZE); |
1304 if (!samples) | 1304 if (!samples) |
1305 goto fail; | 1305 goto fail; |
1306 | 1306 |
1307 ret = avcodec_decode_audio(&st->codec, samples, | 1307 ret = avcodec_decode_audio(&st->codec, samples, |
1308 &got_picture, (uint8_t *)data, size); | 1308 &got_picture, (uint8_t *)data, size); |