diff mbox series

[FFmpeg-devel] avformat/argo_cvg: Fix checksum

Message ID 20220215130517.25172-1-michael@niedermayer.cc
State New
Headers show
Series [FFmpeg-devel] avformat/argo_cvg: Fix checksum | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_aarch64_jetson success Make finished
andriy/make_fate_aarch64_jetson success Make fate finished
andriy/make_armv7_RPi4 success Make finished
andriy/make_fate_armv7_RPi4 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished
andriy/make_ppc success Make finished
andriy/make_fate_ppc success Make fate finished

Commit Message

Michael Niedermayer Feb. 15, 2022, 1:05 p.m. UTC
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavformat/argo_cvg.c | 15 +++++----------
 libavformat/version.h  |  2 +-
 2 files changed, 6 insertions(+), 11 deletions(-)

Comments

Zane van Iperen Feb. 15, 2022, 2:25 p.m. UTC | #1
On 15/2/22 23:05, Michael Niedermayer wrote:
> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> ---
>   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 c5da32536d..dfdf126c17 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);
> +

...because of course it's that simple. How did I miss that?
No matter, lgtm!
Michael Niedermayer Feb. 15, 2022, 9:17 p.m. UTC | #2
On Wed, Feb 16, 2022 at 12:25:52AM +1000, Zane van Iperen wrote:
> 
> 
> On 15/2/22 23:05, Michael Niedermayer wrote:
> > Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> > ---
> >   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 c5da32536d..dfdf126c17 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);
> > +
> 
> ...because of course it's that simple. How did I miss that?
> No matter, lgtm!

will apply

thx

[...]
diff mbox series

Patch

diff --git a/libavformat/argo_cvg.c b/libavformat/argo_cvg.c
index c5da32536d..dfdf126c17 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, \