AAC: fix strict aliasing violation in parser

Originally committed as revision 16180 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Måns Rullgård 2008-12-17 02:30:22 +00:00
parent a2fc0f6a6d
commit cb56b44086
1 changed files with 6 additions and 3 deletions

View File

@ -32,10 +32,13 @@ static int aac_sync(uint64_t state, AACAC3ParseContext *hdr_info,
{
GetBitContext bits;
int size, rdb, ch, sr;
uint8_t tmp[8];
union {
uint64_t u64;
uint8_t u8[8];
} tmp;
AV_WB64(tmp, state);
init_get_bits(&bits, tmp+8-AAC_HEADER_SIZE, AAC_HEADER_SIZE * 8);
tmp.u64 = be2me_64(state);
init_get_bits(&bits, tmp.u8+8-AAC_HEADER_SIZE, AAC_HEADER_SIZE * 8);
if(get_bits(&bits, 12) != 0xfff)
return 0;