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;