]> granicus.if.org Git - libvpx/commitdiff
Fixing problem with invalid delta_q reading.
authorDmitry Kovalev <dkovalev@google.com>
Thu, 29 Aug 2013 22:33:06 +0000 (15:33 -0700)
committerYaowu Xu <yaowu@google.com>
Wed, 4 Sep 2013 18:25:43 +0000 (11:25 -0700)
This is a bitstream change but no currently produces videos should
be affected. https://code.google.com/p/webm/issues/detail?id=610

Change-Id: Ic85a6477df6c201cdf7f70f6bd84607b71f4593c

test/test-data.sha1
test/test.mk
test/test_vector_test.cc
vp9/decoder/vp9_decodframe.c

index 579d7e2545962a341a71117de6a414e3e244c001..370ffc13cc84b759ecc63f3c9cb5287301f0e49f 100644 (file)
@@ -522,3 +522,5 @@ fe0af2ee47b1e5f6a66db369e2d7e9d870b38dce  vp90-2-03-size-226x226.webm
 94ad19b8b699cea105e2ff18f0df2afd7242bcf7  vp90-2-03-size-226x226.webm.md5
 495256cfd123fe777b2c0406862ed8468a1f4677  vp91-2-04-yv444.webm
 65e3a7ffef61ab340d9140f335ecc49125970c2c  vp91-2-04-yv444.webm.md5
+b6524e4084d15b5d0caaa3d3d1368db30cbee69c  vp90-2-03-deltaq.webm
+65f45ec9a55537aac76104818278e0978f94a678  vp90-2-03-deltaq.webm.md5
index 2042c86d91dd674d51f331e310990c7887a45673..4eb599dd8e91581ba8fe84f6aa7106d9297dd116 100644 (file)
@@ -629,5 +629,7 @@ LIBVPX_TEST_DATA-$(CONFIG_VP9_DECODER) += vp90-2-03-size-226x224.webm
 LIBVPX_TEST_DATA-$(CONFIG_VP9_DECODER) += vp90-2-03-size-226x224.webm.md5
 LIBVPX_TEST_DATA-$(CONFIG_VP9_DECODER) += vp90-2-03-size-226x226.webm
 LIBVPX_TEST_DATA-$(CONFIG_VP9_DECODER) += vp90-2-03-size-226x226.webm.md5
+LIBVPX_TEST_DATA-$(CONFIG_VP9_DECODER) += vp90-2-03-deltaq.webm
+LIBVPX_TEST_DATA-$(CONFIG_VP9_DECODER) += vp90-2-03-deltaq.webm.md5
 LIBVPX_TEST_DATA-$(CONFIG_VP9_DECODER) += vp91-2-04-yv444.webm
 LIBVPX_TEST_DATA-$(CONFIG_VP9_DECODER) += vp91-2-04-yv444.webm.md5
index 4cd356d814e789c42964d7255585c7dc36b33f62..9bd03b997f751bcb0481296b685244452857b5d1 100644 (file)
@@ -159,7 +159,7 @@ const char *kVP9TestVectors[] = {
   "vp90-2-03-size-226x198.webm", "vp90-2-03-size-226x200.webm",
   "vp90-2-03-size-226x202.webm", "vp90-2-03-size-226x208.webm",
   "vp90-2-03-size-226x210.webm", "vp90-2-03-size-226x224.webm",
-  "vp90-2-03-size-226x226.webm",
+  "vp90-2-03-size-226x226.webm", "vp90-2-03-deltaq.webm",
 #if CONFIG_NON420
   "vp91-2-04-yv444.webm"
 #endif
index e41ea541dd129a60dc14e6001192e3305000caa0..6cb7c094b1a91502f6c73541fd32ae14e27af76f 100644 (file)
@@ -454,8 +454,7 @@ static void setup_loopfilter(struct loopfilter *lf,
 
 static int read_delta_q(struct vp9_read_bit_buffer *rb, int *delta_q) {
   const int old = *delta_q;
-  if (vp9_rb_read_bit(rb))
-    *delta_q = vp9_rb_read_signed_literal(rb, 4);
+  *delta_q = vp9_rb_read_bit(rb) ? vp9_rb_read_signed_literal(rb, 4) : 0;
   return old != *delta_q;
 }