vp9: make mv bounds 32bit.

Message ID 20161124222953.A64B65DACC@aruru.libav.org
State New
Headers show

Commit Message

Janne Grunau Nov. 24, 2016, 10:29 p.m.
Module: libav
Branch: master
Commit: 0df4801105d84883071b0978cb3afc7cd5184ce8

Author:    Ronald S. Bultje <rsbultje@gmail.com>
Committer: Anton Khirnov <anton@khirnov.net>
Date:      Tue Jan  7 07:24:03 2014 -0500

vp9: make mv bounds 32bit.

The frame dimensions are 16bit, so the mv bounds can easily overflow
int16 for large videos.

Bug-Id: Handbrake/46
CC: libav-stable@libav.org
Signed-off-by: Anton Khirnov <anton@khirnov.net>

---

 libavcodec/vp9.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch

diff --git a/libavcodec/vp9.h b/libavcodec/vp9.h
index b83bd61..31509bf 100644
--- a/libavcodec/vp9.h
+++ b/libavcodec/vp9.h
@@ -402,7 +402,7 @@  typedef struct VP9Context {
     DECLARE_ALIGNED(32, int16_t, uvblock)[2][1024];
     uint8_t eob[256];
     uint8_t uveob[2][64];
-    VP56mv min_mv, max_mv;
+    struct { int x, y; } min_mv, max_mv;
     DECLARE_ALIGNED(32, uint8_t, tmp_y)[64 * 64];
     DECLARE_ALIGNED(32, uint8_t, tmp_uv)[2][32 * 32];
 } VP9Context;