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);