[FFmpeg-devel] [PATCH 1/5] avcodec/ffv1: fix remap without chroma planes

Michael Niedermayer michael at niedermayer.cc
Sat Mar 15 02:00:03 EET 2025


Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
---
 libavcodec/ffv1dec.c | 3 +--
 libavcodec/ffv1enc.c | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/libavcodec/ffv1dec.c b/libavcodec/ffv1dec.c
index e534583d8d6..d702e36625a 100644
--- a/libavcodec/ffv1dec.c
+++ b/libavcodec/ffv1dec.c
@@ -252,10 +252,9 @@ static void slice_set_damaged(FFV1Context *f, FFV1SliceContext *sc)
 
 static int decode_remap(FFV1Context *f, FFV1SliceContext *sc)
 {
-    int transparency = f->transparency;
     int flip = sc->remap == 2 ? 0x7FFF : 0;
 
-    for (int p= 0; p<3 + transparency; p++) {
+    for (int p= 0; p < 1 + 2*f->chroma_planes + f->transparency; p++) {
         int j = 0;
         int lu = 0;
         uint8_t state[2][32];
diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c
index 5d3daef15ec..b8ccda469ec 100644
--- a/libavcodec/ffv1enc.c
+++ b/libavcodec/ffv1enc.c
@@ -1159,10 +1159,9 @@ static void choose_rct_params(const FFV1Context *f, FFV1SliceContext *sc,
 
 static void encode_remap(FFV1Context *f, FFV1SliceContext *sc)
 {
-    int transparency = f->transparency;
     int flip = sc->remap == 2 ? 0x7FFF : 0;
 
-    for (int p= 0; p<3 + transparency; p++) {
+    for (int p= 0; p < 1 + 2*f->chroma_planes + f->transparency; p++) {
         int j = 0;
         int lu = 0;
         uint8_t state[2][32];
-- 
2.48.1



More information about the ffmpeg-devel mailing list