comparison 4xm.c @ 1294:6896bc2f3bf5 libavcodec

10l (array[-1] ...)
author michaelni
date Sun, 01 Jun 2003 10:13:29 +0000
parents a918c7d38345
children 5c67ef6498ed
comparison
equal deleted inserted replaced
1293:a918c7d38345 1294:6896bc2f3bf5
490 490
491 // for(j=0; j<16; j++) 491 // for(j=0; j<16; j++)
492 // printf("%2X", ptr[j]); 492 // printf("%2X", ptr[j]);
493 493
494 for(j=257; j<512; j++){ 494 for(j=257; j<512; j++){
495 int smallest[2]= {-1,-1}; 495 int min_freq[2]= {256*256, 256*256};
496 int smallest[2]= {0, 0};
496 int i; 497 int i;
497 for(i=0; i<j; i++){ 498 for(i=0; i<j; i++){
498 if(frequency[i] == 0) continue; 499 if(frequency[i] == 0) continue;
499 if(frequency[i] < frequency[ smallest[1] ]){ 500 if(frequency[i] < min_freq[1]){
500 if(frequency[i] < frequency[ smallest[0] ]){ 501 if(frequency[i] < min_freq[0]){
501 smallest[1]= smallest[0]; 502 min_freq[1]= min_freq[0]; smallest[1]= smallest[0];
502 smallest[0]= i; 503 min_freq[0]= frequency[i];smallest[0]= i;
503 }else 504 }else{
504 smallest[1]= i; 505 min_freq[1]= frequency[i];smallest[1]= i;
506 }
505 } 507 }
506 } 508 }
507 509 if(min_freq[1] == 256*256) break;
508 if(smallest[1] == -1) break; 510
509 511 frequency[j]= min_freq[0] + min_freq[1];
510 frequency[j]= frequency[ smallest[0] ] + frequency[ smallest[1] ];
511 flag[ smallest[0] ]= 0; 512 flag[ smallest[0] ]= 0;
512 flag[ smallest[1] ]= 1; 513 flag[ smallest[1] ]= 1;
513 up[ smallest[0] ]= 514 up[ smallest[0] ]=
514 up[ smallest[1] ]= j; 515 up[ smallest[1] ]= j;
515 frequency[ smallest[0] ]= frequency[ smallest[1] ]= 0; 516 frequency[ smallest[0] ]= frequency[ smallest[1] ]= 0;
554 prestream= read_huffman_tables(f, prestream); 555 prestream= read_huffman_tables(f, prestream);
555 556
556 init_get_bits(&f->gb, buf + 4, 8*bitstream_size); 557 init_get_bits(&f->gb, buf + 4, 8*bitstream_size);
557 558
558 prestream_size= length + buf - prestream; 559 prestream_size= length + buf - prestream;
559 560
560 f->bitstream_buffer= av_fast_realloc(f->bitstream_buffer, &f->bitstream_buffer_size, prestream_size + FF_INPUT_BUFFER_PADDING_SIZE); 561 f->bitstream_buffer= av_fast_realloc(f->bitstream_buffer, &f->bitstream_buffer_size, prestream_size + FF_INPUT_BUFFER_PADDING_SIZE);
561 f->dsp.bswap_buf((uint32_t*)f->bitstream_buffer, (uint32_t*)prestream, prestream_size/4); 562 f->dsp.bswap_buf((uint32_t*)f->bitstream_buffer, (uint32_t*)prestream, prestream_size/4);
562 init_get_bits(&f->pre_gb, f->bitstream_buffer, 8*prestream_size); 563 init_get_bits(&f->pre_gb, f->bitstream_buffer, 8*prestream_size);
563 564
564 f->last_dc= 0*128*8*8; 565 f->last_dc= 0*128*8*8;