diff --git a/libavcodec/ac3_parser.c b/libavcodec/ac3_parser.c index aedcbcd47287e36635446ac4e6f9f87361a6d03c..ccd687ae13f6aa0aef3a6b391f10edd026c2e179 100644 --- a/libavcodec/ac3_parser.c +++ b/libavcodec/ac3_parser.c @@ -158,11 +158,14 @@ static int ac3_sync(uint64_t state, AACAC3ParseContext *hdr_info, int *need_next_header, int *new_frame_start) { int err; - uint64_t tmp = be2me_64(state); + union { + uint64_t u64; + uint8_t u8[8]; + } tmp = { be2me_64(state) }; AC3HeaderInfo hdr; GetBitContext gbc; - init_get_bits(&gbc, ((uint8_t *)&tmp)+8-AC3_HEADER_SIZE, 54); + init_get_bits(&gbc, tmp.u8+8-AC3_HEADER_SIZE, 54); err = ff_ac3_parse_header(&gbc, &hdr); if(err < 0)