Mercurial > libavcodec.hg
comparison alac.c @ 2543:e8f1f57215ad libavcodec
do not use a variable before proper initialization
author | melanson |
---|---|
date | Sun, 06 Mar 2005 06:22:24 +0000 |
parents | a27a580f292e |
children | 8c426f5a09ae |
comparison
equal
deleted
inserted
replaced
2542:a27a580f292e | 2543:e8f1f57215ad |
---|---|
95 alac->outputsamples_buffer_b = av_malloc(alac->setinfo_max_samples_per_frame * 4); | 95 alac->outputsamples_buffer_b = av_malloc(alac->setinfo_max_samples_per_frame * 4); |
96 } | 96 } |
97 | 97 |
98 void alac_set_info(alac_file *alac, char *inputbuffer) | 98 void alac_set_info(alac_file *alac, char *inputbuffer) |
99 { | 99 { |
100 char *ptr = inputbuffer; | 100 unsigned char *ptr = inputbuffer; |
101 | 101 |
102 ptr += 4; /* size */ | 102 ptr += 4; /* size */ |
103 ptr += 4; /* alac */ | 103 ptr += 4; /* alac */ |
104 ptr += 4; /* 0 ? */ | 104 ptr += 4; /* 0 ? */ |
105 | 105 |
132 int new_accumulator; | 132 int new_accumulator; |
133 | 133 |
134 if (alac->input_buffer_index + 2 >= alac->input_buffer_size) { | 134 if (alac->input_buffer_index + 2 >= alac->input_buffer_size) { |
135 av_log(NULL, AV_LOG_INFO, "alac: input buffer went out of bounds (%d >= %d)\n", | 135 av_log(NULL, AV_LOG_INFO, "alac: input buffer went out of bounds (%d >= %d)\n", |
136 alac->input_buffer_index + 2, alac->input_buffer_size); | 136 alac->input_buffer_index + 2, alac->input_buffer_size); |
137 exit (0); | 137 // exit (0); |
138 } | 138 } |
139 result = (alac->input_buffer[alac->input_buffer_index + 0] << 16) | | 139 result = (alac->input_buffer[alac->input_buffer_index + 0] << 16) | |
140 (alac->input_buffer[alac->input_buffer_index + 1] << 8) | | 140 (alac->input_buffer[alac->input_buffer_index + 1] << 8) | |
141 (alac->input_buffer[alac->input_buffer_index + 2]); | 141 (alac->input_buffer[alac->input_buffer_index + 2]); |
142 | 142 |
184 int new_accumulator; | 184 int new_accumulator; |
185 | 185 |
186 if (alac->input_buffer_index >= alac->input_buffer_size) { | 186 if (alac->input_buffer_index >= alac->input_buffer_size) { |
187 av_log(NULL, AV_LOG_INFO, "alac: input buffer went out of bounds (%d >= %d)\n", | 187 av_log(NULL, AV_LOG_INFO, "alac: input buffer went out of bounds (%d >= %d)\n", |
188 alac->input_buffer_index + 2, alac->input_buffer_size); | 188 alac->input_buffer_index + 2, alac->input_buffer_size); |
189 exit (0); | 189 // exit (0); |
190 } | 190 } |
191 | 191 |
192 result = alac->input_buffer[alac->input_buffer_index]; | 192 result = alac->input_buffer[alac->input_buffer_index]; |
193 | 193 |
194 result = result << alac->input_buffer_bitaccumulator; | 194 result = result << alac->input_buffer_bitaccumulator; |
486 | 486 |
487 void deinterlace_16(int32_t *buffer_a, int32_t *buffer_b, | 487 void deinterlace_16(int32_t *buffer_a, int32_t *buffer_b, |
488 int16_t *buffer_out, | 488 int16_t *buffer_out, |
489 int numchannels, int numsamples, | 489 int numchannels, int numsamples, |
490 uint8_t interlacing_shift, | 490 uint8_t interlacing_shift, |
491 uint8_t interlacing_leftweight) { | 491 uint8_t interlacing_leftweight) |
492 | 492 { |
493 int i; | 493 int i; |
494 if (numsamples <= 0) return; | 494 if (numsamples <= 0) return; |
495 | 495 |
496 /* weighted interlacing */ | 496 /* weighted interlacing */ |
497 if (interlacing_leftweight) { | 497 if (interlacing_leftweight) { |
544 } | 544 } |
545 | 545 |
546 int decode_frame(ALACContext *s, alac_file *alac, | 546 int decode_frame(ALACContext *s, alac_file *alac, |
547 unsigned char *inbuffer, | 547 unsigned char *inbuffer, |
548 int input_buffer_size, | 548 int input_buffer_size, |
549 void *outbuffer, int *outputsize){ | 549 void *outbuffer, int *outputsize) |
550 | 550 { |
551 int channels; | 551 int channels; |
552 int32_t outputsamples = alac->setinfo_max_samples_per_frame; | 552 int32_t outputsamples; |
553 | 553 |
554 /* initialize from the extradata */ | 554 /* initialize from the extradata */ |
555 if (!s->context_initialized) { | 555 if (!s->context_initialized) { |
556 if (s->avctx->extradata_size != ALAC_EXTRADATA_SIZE) { | 556 if (s->avctx->extradata_size != ALAC_EXTRADATA_SIZE) { |
557 av_log(NULL, AV_LOG_ERROR, "alac: expected %d extradata bytes\n", | 557 av_log(NULL, AV_LOG_ERROR, "alac: expected %d extradata bytes\n", |
559 return input_buffer_size; | 559 return input_buffer_size; |
560 } | 560 } |
561 alac_set_info(s->alac, s->avctx->extradata); | 561 alac_set_info(s->alac, s->avctx->extradata); |
562 s->context_initialized = 1; | 562 s->context_initialized = 1; |
563 } | 563 } |
564 | 564 |
565 outputsamples = alac->setinfo_max_samples_per_frame; | |
565 | 566 |
566 /* setup the stream */ | 567 /* setup the stream */ |
567 alac->input_buffer = inbuffer; | 568 alac->input_buffer = inbuffer; |
568 alac->input_buffer_index = 0; | 569 alac->input_buffer_index = 0; |
569 alac->input_buffer_size = input_buffer_size; | 570 alac->input_buffer_size = input_buffer_size; |