[Ffmpeg-cvslog] r8435 - in trunk/libavcodec: ac3.c ac3.h ac3tab.h parser.c
jbr
subversion
Sun Mar 18 05:53:21 CET 2007
Author: jbr
Date: Sun Mar 18 05:53:21 2007
New Revision: 8435
Modified:
trunk/libavcodec/ac3.c
trunk/libavcodec/ac3.h
trunk/libavcodec/ac3tab.h
trunk/libavcodec/parser.c
Log:
hardcode ff_ac3_frame_sizes table
Modified: trunk/libavcodec/ac3.c
==============================================================================
--- trunk/libavcodec/ac3.c (original)
+++ trunk/libavcodec/ac3.c Sun Mar 18 05:53:21 2007
@@ -200,14 +200,6 @@ 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 );
- }
}
int ff_ac3_parse_header(const uint8_t buf[7], AC3HeaderInfo *hdr)
Modified: trunk/libavcodec/ac3.h
==============================================================================
--- trunk/libavcodec/ac3.h (original)
+++ trunk/libavcodec/ac3.h Sun Mar 18 05:53:21 2007
@@ -89,7 +89,7 @@ typedef struct {
*/
int ff_ac3_parse_header(const uint8_t buf[7], AC3HeaderInfo *hdr);
-extern uint16_t ff_ac3_frame_sizes[38][3];
+extern const uint16_t ff_ac3_frame_sizes[38][3];
extern const uint8_t ff_ac3_channels[8];
extern const uint16_t ff_ac3_freqs[3];
extern const uint16_t ff_ac3_bitratetab[19];
Modified: trunk/libavcodec/ac3tab.h
==============================================================================
--- trunk/libavcodec/ac3tab.h (original)
+++ trunk/libavcodec/ac3tab.h Sun Mar 18 05:53:21 2007
@@ -26,9 +26,48 @@
/**
* Possible frame sizes.
- * Generated at runtime to match ATSC A/52 Table 5.18 Frame Size Code Table.
+ * from ATSC A/52 Table 5.18 Frame Size Code Table.
*/
-uint16_t ff_ac3_frame_sizes[38][3];
+const uint16_t ff_ac3_frame_sizes[38][3] = {
+ { 64, 69, 96 },
+ { 64, 70, 96 },
+ { 80, 87, 120 },
+ { 80, 88, 120 },
+ { 96, 104, 144 },
+ { 96, 105, 144 },
+ { 112, 121, 168 },
+ { 112, 122, 168 },
+ { 128, 139, 192 },
+ { 128, 140, 192 },
+ { 160, 174, 240 },
+ { 160, 175, 240 },
+ { 192, 208, 288 },
+ { 192, 209, 288 },
+ { 224, 243, 336 },
+ { 224, 244, 336 },
+ { 256, 278, 384 },
+ { 256, 279, 384 },
+ { 320, 348, 480 },
+ { 320, 349, 480 },
+ { 384, 417, 576 },
+ { 384, 418, 576 },
+ { 448, 487, 672 },
+ { 448, 488, 672 },
+ { 512, 557, 768 },
+ { 512, 558, 768 },
+ { 640, 696, 960 },
+ { 640, 697, 960 },
+ { 768, 835, 1152 },
+ { 768, 836, 1152 },
+ { 896, 975, 1344 },
+ { 896, 976, 1344 },
+ { 1024, 1114, 1536 },
+ { 1024, 1115, 1536 },
+ { 1152, 1253, 1728 },
+ { 1152, 1254, 1728 },
+ { 1280, 1393, 1920 },
+ { 1280, 1394, 1920 },
+};
/**
* Maps audio coding mode (acmod) to number of full-bandwidth channels.
Modified: trunk/libavcodec/parser.c
==============================================================================
--- trunk/libavcodec/parser.c (original)
+++ trunk/libavcodec/parser.c Sun Mar 18 05:53:21 2007
@@ -710,7 +710,6 @@ static int ac3_parse_init(AVCodecParserC
s->inbuf_ptr = s->inbuf;
s->header_size = AC3_HEADER_SIZE;
s->sync = ac3_sync;
- ac3_common_init();
return 0;
}
#endif
More information about the ffmpeg-cvslog
mailing list