[FFmpeg-cvslog] avformat/argo_cvg: Fix checksum

Michael Niedermayer git at videolan.org
Tue Feb 15 23:18:54 EET 2022


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Tue Feb 15 14:03:08 2022 +0100| [2db9ffb88b5faf9cb0f877c29c7701960e2fcf07] | committer: Michael Niedermayer

avformat/argo_cvg: Fix checksum

Reviewed-by: Zane van Iperen <zane at zanevaniperen.com>

Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2db9ffb88b5faf9cb0f877c29c7701960e2fcf07
---

 libavformat/argo_cvg.c | 15 +++++----------
 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, \



More information about the ffmpeg-cvslog mailing list