From 9a81785e4228a9cbf944dcf94127f8ec29bf9b6d Mon Sep 17 00:00:00 2001 From: Johann Date: Mon, 29 Apr 2019 16:07:02 -0700 Subject: [PATCH] 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 --- vp8/encoder/bitstream.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/vp8/encoder/bitstream.c b/vp8/encoder/bitstream.c index 8dd042775..c28e93c28 100644 --- a/vp8/encoder/bitstream.c +++ b/vp8/encoder/bitstream.c @@ -1043,12 +1043,18 @@ void vp8_pack_bitstream(VP8_COMP *cpi, unsigned char *dest, 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; -- 2.49.0