Mercurial > libavcodec.hg
diff ac3enc.c @ 6108:75804d49f33b libavcodec
improve CRC API
- don't export any global var
- provide either generated or hardcoded tables
author | aurel |
---|---|
date | Fri, 04 Jan 2008 23:09:58 +0000 |
parents | 77d27412c35d |
children | bf4d7ce32af5 |
line wrap: on
line diff
--- a/ac3enc.c Fri Jan 04 20:02:10 2008 +0000 +++ b/ac3enc.c Fri Jan 04 23:09:58 2008 +0000 @@ -1141,13 +1141,16 @@ /* Now we must compute both crcs : this is not so easy for crc1 because it is at the beginning of the data... */ frame_size_58 = (frame_size >> 1) + (frame_size >> 3); - crc1 = bswap_16(av_crc(av_crc8005, 0, frame + 4, 2 * frame_size_58 - 4)); + crc1 = bswap_16(av_crc(av_crc_get_table(AV_CRC_16_ANSI), 0, + frame + 4, 2 * frame_size_58 - 4)); /* XXX: could precompute crc_inv */ crc_inv = pow_poly((CRC16_POLY >> 1), (16 * frame_size_58) - 16, CRC16_POLY); crc1 = mul_poly(crc_inv, crc1, CRC16_POLY); AV_WB16(frame+2,crc1); - crc2 = bswap_16(av_crc(av_crc8005, 0, frame + 2 * frame_size_58, (frame_size - frame_size_58) * 2 - 2)); + crc2 = bswap_16(av_crc(av_crc_get_table(AV_CRC_16_ANSI), 0, + frame + 2 * frame_size_58, + (frame_size - frame_size_58) * 2 - 2)); AV_WB16(frame+2*frame_size-2,crc2); // printf("n=%d frame_size=%d\n", n, frame_size);