Mercurial > libavcodec.hg
comparison ac3enc.c @ 4645:056127e5df89 libavcodec
remove redundancy in AC-3 parser by using common tables from ac3tab.h
author | jbr |
---|---|
date | Sun, 11 Mar 2007 02:13:05 +0000 |
parents | 1e175640dad3 |
children | 3a891d2379ce |
comparison
equal
deleted
inserted
replaced
4644:414d484f6483 | 4645:056127e5df89 |
---|---|
609 0x07, /* L C R SL SR (+LFE) */ | 609 0x07, /* L C R SL SR (+LFE) */ |
610 }; | 610 }; |
611 | 611 |
612 avctx->frame_size = AC3_FRAME_SIZE; | 612 avctx->frame_size = AC3_FRAME_SIZE; |
613 | 613 |
614 ac3_common_init(); | |
615 | |
614 /* number of channels */ | 616 /* number of channels */ |
615 if (channels < 1 || channels > 6) | 617 if (channels < 1 || channels > 6) |
616 return -1; | 618 return -1; |
617 s->acmod = acmod_defs[channels - 1]; | 619 s->acmod = acmod_defs[channels - 1]; |
618 s->lfe = (channels == 6) ? 1 : 0; | 620 s->lfe = (channels == 6) ? 1 : 0; |
642 } | 644 } |
643 if (i == 19) | 645 if (i == 19) |
644 return -1; | 646 return -1; |
645 s->bit_rate = bitrate; | 647 s->bit_rate = bitrate; |
646 s->frmsizecod = i << 1; | 648 s->frmsizecod = i << 1; |
647 s->frame_size_min = (bitrate * 1000 * AC3_FRAME_SIZE) / (freq * 16); | 649 s->frame_size_min = ff_ac3_frame_sizes[s->frmsizecod][s->fscod]; |
648 s->bits_written = 0; | 650 s->bits_written = 0; |
649 s->samples_written = 0; | 651 s->samples_written = 0; |
650 s->frame_size = s->frame_size_min; | 652 s->frame_size = s->frame_size_min; |
651 | 653 |
652 /* bit allocation init */ | 654 /* bit allocation init */ |
660 if (s->lfe) { | 662 if (s->lfe) { |
661 s->nb_coefs[s->lfe_channel] = 7; /* fixed */ | 663 s->nb_coefs[s->lfe_channel] = 7; /* fixed */ |
662 } | 664 } |
663 /* initial snr offset */ | 665 /* initial snr offset */ |
664 s->csnroffst = 40; | 666 s->csnroffst = 40; |
665 | |
666 ac3_common_init(); | |
667 | 667 |
668 /* mdct init */ | 668 /* mdct init */ |
669 fft_init(MDCT_NBITS - 2); | 669 fft_init(MDCT_NBITS - 2); |
670 for(i=0;i<N/4;i++) { | 670 for(i=0;i<N/4;i++) { |
671 alpha = 2 * M_PI * (i + 1.0 / 8.0) / (float)N; | 671 alpha = 2 * M_PI * (i + 1.0 / 8.0) / (float)N; |