From 050aa8b9bca6a2c29e1c4c914e05aca49007f1d7 Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Sun, 11 Mar 2007 02:13:05 +0000 Subject: remove redundancy in AC-3 parser by using common tables from ac3tab.h Originally committed as revision 8318 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/ac3.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'libavcodec/ac3.c') diff --git a/libavcodec/ac3.c b/libavcodec/ac3.c index 019c7769d6..a1c46c6d2e 100644 --- a/libavcodec/ac3.c +++ b/libavcodec/ac3.c @@ -181,6 +181,11 @@ void ac3_parametric_bit_allocation(AC3BitAllocParameters *s, uint8_t *bap, } while (end > bndtab[j++]); } +/** + * Initializes some tables. + * note: This function must remain thread safe because it is called by the + * AVParser init code. + */ void ac3_common_init(void) { int i, j, k, l, v; @@ -194,4 +199,12 @@ void ac3_common_init(void) l += v; } bndtab[50] = l; + + /* generate ff_ac3_frame_sizes table */ + for(i=0; i<38; i++) { + int br = ff_ac3_bitratetab[i >> 1]; + ff_ac3_frame_sizes[i][0] = ( 2*br ); + ff_ac3_frame_sizes[i][1] = (320*br / 147) + (i & 1); + ff_ac3_frame_sizes[i][2] = ( 3*br ); + } } -- cgit v1.2.3