aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2025-03-14 22:33:46 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2025-03-17 15:26:11 +0100
commitd7fa6a388b894637c5d4d2826aa7cac0fc7f7c4b (patch)
tree75b8302467d09b9713f1d1801307270979d3e2ca
parenta8892c54003ff26e091627c9304700406996021b (diff)
downloadffmpeg-d7fa6a388b894637c5d4d2826aa7cac0fc7f7c4b.tar.gz
avcodec/ffv1: fix remap without chroma planes
Sponsored-by: Sovereign Tech Fund Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavcodec/ffv1dec.c3
-rw-r--r--libavcodec/ffv1enc.c3
2 files changed, 2 insertions, 4 deletions
diff --git a/libavcodec/ffv1dec.c b/libavcodec/ffv1dec.c
index d01c153cd6..d117b0fd44 100644
--- a/libavcodec/ffv1dec.c
+++ b/libavcodec/ffv1dec.c
@@ -254,10 +254,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 3db4a18a09..c7cf75ef4f 100644
--- a/libavcodec/ffv1enc.c
+++ b/libavcodec/ffv1enc.c
@@ -1150,10 +1150,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];