Chen-tao / webm

Automatically exported from code.google.com/p/webm
0 stars 0 forks source link

graytone vp9 video encoded wrong #607

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Try this video in Chrome
http://tskir-html5.kir.corp.google.com/testmatrix/index.html?file=graytone2.vp9.
webm

What is the expected behavior?

It should be a gray scale image

What do you see instead?

white

What version are you using? 
VP9 Encoder v1.2.0-3844-g7b50333

On what operating system?
Windows

Can you reproduce using the vpxdec or vpxenc tools? What command line are
you using?

Please provide any additional information below.

vpxenc -w 854 -h 480 --fps=30/1 --target-bitrate=200 
graytone.854x480_30Hz_P420.yuv -o graytone0.tmp.vp9.webm --fpf=graytone_vp9.fpf 
-p 2 --pass=1 --codec=vp9 --good --cpu-used=2 --lag-in-frames=25 --min-q=0 
--max-q=63 --end-usage=vbr --auto-alt-ref=1 --kf-max-dist=9999 --kf-min-dist=0 
--drop-frame=0 --static-thresh=0 --bias-pct=50 --minsection-pct=0 
--maxsection-pct=2000 --arnr-maxframes=7 --arnr-strength=5 --arnr-type=3 
--sharpness=0 --undershoot-pct=100 -v --psnr 

Original issue reported on code.google.com by fbarch...@google.com on 23 Aug 2013 at 5:37

GoogleCodeExporter commented 8 years ago
tried aug 18 build

The encoder thinks it worked
Pass 2/2 frame  150/150     3208B     171b/f    5132b/s 2104582 us (71.27 fps)
Stream 0 PSNR (Overall/Avg/Y/U/V) 100.000 100.000 100.000 100.000 100.000

But vpxdec repros the issue as well:
vpxdec --codec=vp9 --limit=10000 --i420 graytone0.vp9.webm -o 
graytone_vp9.webm.854x480_30Hz_P420.yuv

psnr -s 854 480 graytone_vp9.webm.854x480_30Hz_P420.yuv 
graytone.854x480_30Hz_P420.yuv
Frame    PSNR-Y          PSNR-U          PSNR-V          PSNR-All        Frame
Global:   3.987018      128.000000      128.000000        5.747931        150
Avg:      3.987018      128.000000      128.000000        5.747931        150
Min:      3.987018      128.000000      128.000000        5.747931          0

Original comment by fbarch...@google.com on 23 Aug 2013 at 6:30

GoogleCodeExporter commented 8 years ago
1 pass also fails
vpxenc/dec were built like this:

CROSS=x86_64-w64-mingw32- ../libvpx/configure --target=x86_64-win64-gcc 
--enable-static-msvcrt --disable-install-docs --disable-unit-tests 
--disable-docs
make -i V=1

Original comment by fbarch...@google.com on 23 Aug 2013 at 6:42

GoogleCodeExporter commented 8 years ago
last known good version
vpxenc_jun14.exe VP9 Encoder v1.2.0-3097-g0b7910b

first known broken version
vpxenc_jul27.exe VP9 Encoder v1.2.0-3772-g118ccdc

Original comment by fbarch...@google.com on 23 Aug 2013 at 7:42

GoogleCodeExporter commented 8 years ago
Seems this is readily reproducible at speed 0/1/2 on linux as well: 
v1.2.0-4091-g1c159c4.

After some bisecting the ssse3 version of vp9_quantize_b_32x32 is at least 
partially to blame.

Original comment by jz...@google.com on 24 Aug 2013 at 1:34

GoogleCodeExporter commented 8 years ago
Looks like this is fixed, thanks!

vpxdec --codec=vp9 --limit=10000 --i420 graytone0.vp9.webm -o 
graytone_vp9.webm.854x480_30Hz_P420.yuv

psnr -s 854 480 graytone_vp9.webm.854x480_30Hz_P420.yuv 
graytone.854x480_30Hz_P420.yuv
Frame    PSNR-Y          PSNR-U          PSNR-V          PSNR-All        Frame
Global:  78.714115      128.000000      128.000000       80.475027        150
Avg:     90.252552      128.000000      128.000000       91.567367        150
Min:     77.445382      128.000000      128.000000       79.206295          0

Original comment by fbarch...@google.com on 30 Aug 2013 at 12:24

GoogleCodeExporter commented 8 years ago
https://gerrit.chromium.org/gerrit/#/c/67004/

Original comment by jingn...@google.com on 30 Aug 2013 at 1:59