ffmpeg | branch: master | Michael Niedermayer <mich...@niedermayer.cc> | Wed 
Mar 19 21:17:10 2025 +0100| [62c7d08947f5a92d49c74b04f37df7d2c245846c] | 
committer: Michael Niedermayer

avcodec/ffv1: Fix remap ordering

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc>

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

 libavcodec/ffv1dec_template.c |  6 +++---
 libavcodec/ffv1enc.c          |  2 +-
 libavcodec/ffv1enc_template.c | 12 ++++++------
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/libavcodec/ffv1dec_template.c b/libavcodec/ffv1dec_template.c
index cdebdf3a62..5ce4f48707 100644
--- a/libavcodec/ffv1dec_template.c
+++ b/libavcodec/ffv1dec_template.c
@@ -186,9 +186,9 @@ static int RENAME(decode_rgb_frame)(FFV1Context *f, 
FFV1SliceContext *sc,
                 r += g;
             }
             if (sc->remap) {
-                r = sc->fltmap[0][r & 0xFFFF];
-                g = sc->fltmap[1][g & 0xFFFF];
-                b = sc->fltmap[2][b & 0xFFFF];
+                g = sc->fltmap[0][g & 0xFFFF];
+                b = sc->fltmap[1][b & 0xFFFF];
+                r = sc->fltmap[2][r & 0xFFFF];
                 if (transparency)
                     a = sc->fltmap[3][a & 0xFFFF];
             }
diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c
index eac4aba49b..82d65d4eee 100644
--- a/libavcodec/ffv1enc.c
+++ b/libavcodec/ffv1enc.c
@@ -432,7 +432,7 @@ static void set_micro_version(FFV1Context *f)
         if (f->version == 3) {
             f->micro_version = 4;
         } else if (f->version == 4) {
-            f->micro_version = 5;
+            f->micro_version = 6;
         } else
             av_assert0(0);
 
diff --git a/libavcodec/ffv1enc_template.c b/libavcodec/ffv1enc_template.c
index 878ab6c720..29dcedd1b6 100644
--- a/libavcodec/ffv1enc_template.c
+++ b/libavcodec/ffv1enc_template.c
@@ -152,9 +152,9 @@ static void RENAME(load_rgb_frame)(FFV1Context *f, 
FFV1SliceContext *sc,
                 r = *((const uint16_t *)(src[2] + x*2 + stride[2]*y));
             }
 
-            sc->fltmap[0][r] = 1;
-            sc->fltmap[1][g] = 1;
-            sc->fltmap[2][b] = 1;
+            sc->fltmap[0][g] = 1;
+            sc->fltmap[1][b] = 1;
+            sc->fltmap[2][r] = 1;
             if (transparency)
                 sc->fltmap[3][a] = 1;
         }
@@ -214,9 +214,9 @@ static int RENAME(encode_rgb_frame)(FFV1Context *f, 
FFV1SliceContext *sc,
             }
 
             if (sc->remap) {
-                r = sc->fltmap[0][r];
-                g = sc->fltmap[1][g];
-                b = sc->fltmap[2][b];
+                g = sc->fltmap[0][g];
+                b = sc->fltmap[1][b];
+                r = sc->fltmap[2][r];
                 if (transparency)
                     a = sc->fltmap[3][a];
             }

_______________________________________________
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to