shithub: libvpx

Download patch

ref: 9a81785e4228a9cbf944dcf94127f8ec29bf9b6d
parent: 197ef67eeb327d79abb961fa0dfd8de9df24d691
author: Johann <johannkoenig@google.com>
date: Mon Apr 29 12:07:02 EDT 2019

vp8: quiet conversion warning when packing sizes

The values are or'd together and then stored 8 bits at a time:
9.1. Uncompressed Data Chunk
* 16 bits: (2 bits Horizontal Scale << 14) | Width (14 bits)
* 16 bits: (2 bits Vertical Scale << 14) | Height (14 bits)

BUG=webm:1615

Change-Id: Id2eb3deaccec299a0619990d3a6f1eb4f71e50e2

--- a/vp8/encoder/bitstream.c
+++ b/vp8/encoder/bitstream.c
@@ -1043,12 +1043,18 @@
     cx_data[1] = 0x01;
     cx_data[2] = 0x2a;
 
+    /* Pack scale and frame size into 16 bits. Store it 8 bits at a time.
+     * https://tools.ietf.org/html/rfc6386
+     * 9.1. Uncompressed Data Chunk
+     * 16 bits      :     (2 bits Horizontal Scale << 14) | Width (14 bits)
+     * 16 bits      :     (2 bits Vertical Scale << 14) | Height (14 bits)
+     */
     v = (pc->horiz_scale << 14) | pc->Width;
-    cx_data[3] = v;
+    cx_data[3] = v & 0xFF;
     cx_data[4] = v >> 8;
 
     v = (pc->vert_scale << 14) | pc->Height;
-    cx_data[5] = v;
+    cx_data[5] = v & 0xFF;
     cx_data[6] = v >> 8;
 
     extra_bytes_packed = 7;