git.lucas.co / go_mono
git clone https://git.lucas.co/go_mono.git

commita704c116ac1735e5efe5bc5d0f346ea669a53b0c
parent96df300f7f
authorNigel Tao <[email protected]>
date2014-09-26 11:09
go.image/vp8l: use the default code length for repeated codes.

This fixes the lossless_vec_2_13.webp conformance test.

LGTM=r
R=r, pascal.massimino
CC=golang-codereviews
https://golang.org/cl/143610043

 vp8l/decode.go | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/vp8l/decode.go b/vp8l/decode.go
index ee7afb0..2e84827 100644
--- a/vp8l/decode.go
+++ b/vp8l/decode.go
@@ -180,7 +180,10 @@ func (d *decoder) decodeCodeLengths(dst []uint32, codeLengthCodeLengths []uint32
 		}
 	}
 
-	prevCodeLength := uint32(0)
+	// The spec says that "if code 16 [meaning repeat] is used before
+	// a non-zero value has been emitted, a value of 8 is repeated."
+	prevCodeLength := uint32(8)
+
 	for symbol := 0; symbol < len(dst); {
 		if maxSymbol == 0 {
 			break