diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2022-02-15 14:03:08 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2022-02-15 21:36:08 +0100 |
commit | 2db9ffb88b5faf9cb0f877c29c7701960e2fcf07 (patch) | |
tree | 49e2eedb3f493aecbb218150d600404eb625d59e | |
parent | f306b8e80ab04cfd8f6cd577a4484cb791d6e765 (diff) | |
download | ffmpeg-2db9ffb88b5faf9cb0f877c29c7701960e2fcf07.tar.gz |
avformat/argo_cvg: Fix checksum
Reviewed-by: Zane van Iperen <zane@zanevaniperen.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | libavformat/argo_cvg.c | 15 | ||||
-rw-r--r-- | libavformat/version.h | 2 |
2 files changed, 6 insertions, 11 deletions
diff --git a/libavformat/argo_cvg.c b/libavformat/argo_cvg.c index e1854b4493..f59e93496f 100644 --- a/libavformat/argo_cvg.c +++ b/libavformat/argo_cvg.c @@ -335,19 +335,14 @@ static int argo_cvg_write_trailer(AVFormatContext *s) ArgoCVGMuxContext *ctx = s->priv_data; int64_t ret; + ctx->checksum += (ctx->size & 255) + + ((ctx->size>> 8) & 255) + + ((ctx->size>>16) & 255) + + (ctx->size>>24); + av_log(s, AV_LOG_TRACE, "size = %zu\n", ctx->size); av_log(s, AV_LOG_TRACE, "checksum = %u\n", ctx->checksum); - /* - * NB: This is wrong. We're always slightly under the original. - * Verified by remuxing. For reference (orig - remuxed): - * - TCLD.CVG: 4706074 - 4705696 = 378 - * - DANLOOP1.CVG: 5684641 - 5684212 = 429 - * - CRYS.CVG: 2495499 - 2495367 = 132 - * - PICKUP88.CVG: 1348091 - 1347937 = 154 - * - SELECT1.CVG: 549987 - 549752 = 235 - * Also NB: it doesn't matter, the game doesn't check them. - */ avio_wl32(s->pb, ctx->checksum); if ((ret = avio_seek(s->pb, 0, SEEK_SET) < 0)) diff --git a/libavformat/version.h b/libavformat/version.h index 5439dad170..26234573b8 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -33,7 +33,7 @@ // Also please add any ticket numbers that you believe might be affected here #define LIBAVFORMAT_VERSION_MAJOR 59 #define LIBAVFORMAT_VERSION_MINOR 17 -#define LIBAVFORMAT_VERSION_MICRO 101 +#define LIBAVFORMAT_VERSION_MICRO 102 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ LIBAVFORMAT_VERSION_MINOR, \ |