[FFmpeg-cvslog] avcodec/dxva2_av1: fix global motion params

Tong Wu git at videolan.org
Tue Dec 28 21:34:38 EET 2021


ffmpeg | branch: release/4.4 | Tong Wu <tong1.wu at intel.com> | Tue Oct 12 16:24:00 2021 +0800| [03f5a57b9364d7ce789589594450fdf714a23e70] | committer: Wolfgang Haupt

avcodec/dxva2_av1: fix global motion params

Defined in spec 5.9.24/5.9.25. Since function void
global_motion_params(AV1DecContext *s) already updates
gm type/params, the wminvalid parameter only need to get
the value from cur_frame.gm_invalid.

Signed-off-by: Tong Wu <tong1.wu at intel.com>
(cherry picked from commit 4e7a7d75e3c21a6af03c4cd52ffc50270664e58a)

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

 libavcodec/dxva2_av1.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/dxva2_av1.c b/libavcodec/dxva2_av1.c
index c30b57799c..8a912bf6c1 100644
--- a/libavcodec/dxva2_av1.c
+++ b/libavcodec/dxva2_av1.c
@@ -139,7 +139,7 @@ static int fill_picture_parameters(const AVCodecContext *avctx, AVDXVAContext *c
         pp->frame_refs[i].Index  = ref_frame->buf[0] ? ref_idx : 0xFF;
 
         /* Global Motion */
-        pp->frame_refs[i].wminvalid = (h->cur_frame.gm_type[AV1_REF_FRAME_LAST + i] == AV1_WARP_MODEL_IDENTITY);
+        pp->frame_refs[i].wminvalid = h->cur_frame.gm_invalid[AV1_REF_FRAME_LAST + i];
         pp->frame_refs[i].wmtype    = h->cur_frame.gm_type[AV1_REF_FRAME_LAST + i];
         for (j = 0; j < 6; ++j) {
              pp->frame_refs[i].wmmat[j] = h->cur_frame.gm_params[AV1_REF_FRAME_LAST + i][j];



More information about the ffmpeg-cvslog mailing list