mirror of https://git.ffmpeg.org/ffmpeg.git
hardcode ff_ac3_frame_sizes table
Originally committed as revision 8435 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
92964be895
commit
495529f7df
|
@ -200,14 +200,6 @@ void ac3_common_init(void)
|
||||||
l += v;
|
l += v;
|
||||||
}
|
}
|
||||||
bndtab[50] = l;
|
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)
|
int ff_ac3_parse_header(const uint8_t buf[7], AC3HeaderInfo *hdr)
|
||||||
|
|
|
@ -89,7 +89,7 @@ typedef struct {
|
||||||
*/
|
*/
|
||||||
int ff_ac3_parse_header(const uint8_t buf[7], AC3HeaderInfo *hdr);
|
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 uint8_t ff_ac3_channels[8];
|
||||||
extern const uint16_t ff_ac3_freqs[3];
|
extern const uint16_t ff_ac3_freqs[3];
|
||||||
extern const uint16_t ff_ac3_bitratetab[19];
|
extern const uint16_t ff_ac3_bitratetab[19];
|
||||||
|
|
|
@ -26,9 +26,48 @@
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Possible frame sizes.
|
* 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.
|
* Maps audio coding mode (acmod) to number of full-bandwidth channels.
|
||||||
|
|
|
@ -710,7 +710,6 @@ static int ac3_parse_init(AVCodecParserContext *s1)
|
||||||
s->inbuf_ptr = s->inbuf;
|
s->inbuf_ptr = s->inbuf;
|
||||||
s->header_size = AC3_HEADER_SIZE;
|
s->header_size = AC3_HEADER_SIZE;
|
||||||
s->sync = ac3_sync;
|
s->sync = ac3_sync;
|
||||||
ac3_common_init();
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue