# HG changeset patch # User mru # Date 1229481022 0 # Node ID 850b735daef8eaef718a36d466fa743a84378a25 # Parent 9281a8a9387acfe51c878dbe922906bfcbf4b62c AAC: fix strict aliasing violation in parser diff -r 9281a8a9387a -r 850b735daef8 aac_parser.c --- a/aac_parser.c Wed Dec 17 00:54:54 2008 +0000 +++ b/aac_parser.c Wed Dec 17 02:30:22 2008 +0000 @@ -32,10 +32,13 @@ { 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;