From ee5b34d56e7fa9c1eb1a2aeb2bf7b55516c99c8a Mon Sep 17 00:00:00 2001 From: Ramiro Polla Date: Wed, 13 Aug 2008 02:44:38 +0000 Subject: [PATCH] mlp_parser: Initialize crc data in its own function. Originally committed as revision 14722 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/mlp_parser.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/libavcodec/mlp_parser.c b/libavcodec/mlp_parser.c index 646442bf03..7668857d70 100644 --- a/libavcodec/mlp_parser.c +++ b/libavcodec/mlp_parser.c @@ -77,14 +77,19 @@ static uint16_t mlp_checksum16(const uint8_t *buf, unsigned int buf_size) { uint16_t crc; + crc = av_crc(crc_2D, 0, buf, buf_size - 2); + crc ^= AV_RL16(buf + buf_size - 2); + return crc; +} + +static int av_cold mlp_parse_init(AVCodecParserContext *s) +{ if (!crc_init) { av_crc_init(crc_2D, 0, 16, 0x002D, sizeof(crc_2D)); crc_init = 1; } - crc = av_crc(crc_2D, 0, buf, buf_size - 2); - crc ^= AV_RL16(buf + buf_size - 2); - return crc; + return 0; } /** Read a major sync info header - contains high level information about @@ -305,7 +310,7 @@ lost_sync: AVCodecParser mlp_parser = { { CODEC_ID_MLP }, sizeof(MLPParseContext), - NULL, + mlp_parse_init, mlp_parse, NULL, };