Our struct is a [2][25], libdav1d's is a [2][25 + 3] so the last 3 
v coefficients were missing.
Copy each plane's coefficients separately.

Patch attached.

>From 5197be53406921513eec9277b029eefc1deec5c6 Mon Sep 17 00:00:00 2001
From: Lynne <d...@lynne.ee>
Date: Wed, 25 Nov 2020 23:46:29 +0100
Subject: [PATCH] libdav1d: correctly copy ar_coeffs_uv to our struct

Our struct is a [2][25], libdav1d's is a [2][25 + 3] so the last 3
v coefficients were missing.
Copy each plane's coefficients separately.
---
 libavcodec/libdav1d.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c
index c9b439a007..04587b88da 100644
--- a/libavcodec/libdav1d.c
+++ b/libavcodec/libdav1d.c
@@ -425,8 +425,10 @@ FF_ENABLE_DEPRECATION_WARNINGS
                sizeof(fgp->codec.aom.uv_points));
         memcpy(&fgp->codec.aom.ar_coeffs_y, &p->frame_hdr->film_grain.data.ar_coeffs_y,
                sizeof(fgp->codec.aom.ar_coeffs_y));
-        memcpy(&fgp->codec.aom.ar_coeffs_uv, &p->frame_hdr->film_grain.data.ar_coeffs_uv,
-               sizeof(fgp->codec.aom.ar_coeffs_uv));
+        memcpy(&fgp->codec.aom.ar_coeffs_uv[0], &p->frame_hdr->film_grain.data.ar_coeffs_uv[0],
+               sizeof(fgp->codec.aom.ar_coeffs_uv[0]));
+        memcpy(&fgp->codec.aom.ar_coeffs_uv[1], &p->frame_hdr->film_grain.data.ar_coeffs_uv[1],
+               sizeof(fgp->codec.aom.ar_coeffs_uv[1]));
         memcpy(&fgp->codec.aom.uv_mult, &p->frame_hdr->film_grain.data.uv_mult,
                sizeof(fgp->codec.aom.uv_mult));
         memcpy(&fgp->codec.aom.uv_mult_luma, &p->frame_hdr->film_grain.data.uv_luma_mult,
-- 
2.29.2.222.g5d2a92d10f8

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

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

Reply via email to