golang-image/vp8
Nigel Tao 07fcf9c2fe vp8: skip filtering for all-zero-DC macroblock residuals.
This makes the Go code match the libwebp C code's output on
blue-purple-pink-large.*-filter.lossy.webp

Also make the various WEBP benchmarks all decode a similar image,
the image at http://blog.golang.org/gophercon/image01.jpg, to make
it more meaningful to e.g. compare the simple filter's numbers with
the normal filter's numbers.

Also fix a "go vet" warning in webp/decode.go.

The test data was generated by:
wget http://blog.golang.org/gophercon/image01.jpg -O blue-purple-pink-large.jpeg
convert blue-purple-pink-large.jpeg blue-purple-pink-large.png
cwebp -lossless blue-purple-pink-large.png -o blue-purple-pink-large.lossless.webp
cwebp -q 80 -f 0 blue-purple-pink-large.png -o blue-purple-pink-large.no-filter.lossy.webp
cwebp -q 80 -strong blue-purple-pink-large.png -o blue-purple-pink-large.normal-filter.lossy.webp
cwebp -q 80 -nostrong blue-purple-pink-large.png -o blue-purple-pink-large.simple-filter.lossy.webp
dwebp -pgm blue-purple-pink-large.no-filter.lossy.webp -o tmp.pgm && convert tmp.pgm blue-purple-pink-large.no-filter.lossy.webp.ycbcr.png && rm tmp.pgm
dwebp -pgm blue-purple-pink-large.normal-filter.lossy.webp -o tmp.pgm && convert tmp.pgm blue-purple-pink-large.normal-filter.lossy.webp.ycbcr.png && rm tmp.pgm
dwebp -pgm blue-purple-pink-large.simple-filter.lossy.webp -o tmp.pgm && convert tmp.pgm blue-purple-pink-large.simple-filter.lossy.webp.ycbcr.png && rm tmp.pgm

LGTM=r
R=r
CC=golang-codereviews
https://golang.org/cl/106230044
2014-06-30 10:36:25 +10:00
..
decode.go go.image/vp8: implement the normal filter. 2014-06-26 13:29:30 +10:00
filter.go go.image/vp8: use branch-free abs 2014-06-30 10:33:37 +10:00
idct.go go.image/vp8, go.image/webp: new packages, copied from 2014-03-25 13:29:48 +11:00
partition.go go.image/vp8, go.image/webp: new packages, copied from 2014-03-25 13:29:48 +11:00
pred.go go.image/vp8, go.image/webp: new packages, copied from 2014-03-25 13:29:48 +11:00
predfunc.go go.image/vp8, go.image/webp: new packages, copied from 2014-03-25 13:29:48 +11:00
quant.go go.image/vp8, go.image/webp: new packages, copied from 2014-03-25 13:29:48 +11:00
reconstruct.go vp8: skip filtering for all-zero-DC macroblock residuals. 2014-06-30 10:36:25 +10:00
token.go go.image/vp8, go.image/webp: new packages, copied from 2014-03-25 13:29:48 +11:00