Chen-tao / webm

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

vp9 encodes fail to decode through scene changes #518

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What is the expected behavior? What do you see instead?
Decoder continues playing the rest of the video

What version are you using? On what operating system?
Linux OS, using libvpx v1.1.0-1718-g2292733

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

To encode the videos, I used the following, with the only variable being 
--target-bitrate

~/vp9-preview/vpxenc yuv.pipe -o out.webm --codec=vp9 --pass=1 -p 2 
--fpf=firstpass_ivf --token-parts=0 \n            --good --cpu-used=0 
--target-bitrate=2500 \n            --auto-alt-ref=1 --lag-in-frames=18 \n      
      --end-usage=vbr --bias-pct=50 \n            --min-q=0 --max-q=63 \n       
     --minsection-pct=5 --maxsection-pct=800 --undershoot-pct=100 \n            
--psnr --tune=ssim --verbose \n             & \ 
      avconv -y -i ${1} -f yuv4mpegpipe yuv.pipe 2> /dev/null

~/vp9-preview/vpxenc yuv.pipe -o out.webm --codec=vp9 --pass=2 -p 2 
--fpf=firstpass_ivf --token-parts=0 \n            --good --cpu-used=0 
--target-bitrate=2500 \n            --auto-alt-ref=1 --lag-in-frames=18 \n      
      --end-usage=vbr --bias-pct=50 \n            --min-q=0 --max-q=63 \n       
     --minsection-pct=5 --maxsection-pct=800 --undershoot-pct=100 \n            
--psnr --tune=ssim --verbose \n             & \ 
      avconv -y -i ${1} -f yuv4mpegpipe yuv.pipe 2> /dev/null

Please provide any additional information below.

The clips I'm testing with are Tears of Steel and SIGHT

Tears of Steel can be downloaded here: 
http://media.xiph.org/mango/tears_of_steel_1080p.webm

SIGHT can be downloaded from Vimeo: http://vimeo.com/46304267

Video decodes until there is a big change in the film. This shows up in stderr:
Failed to decode frame: Corrupt frame detected
  Additional information: Truncated packet or corrupt partition 0 length

The vp9 encoded SIGHT can be found here:
https://docs.google.com/open?id=0B_nFFWpMv2nfS2oySnlJNjRTVUk

Original issue reported on code.google.com by somethin...@gmail.com on 31 Dec 2012 at 6:28

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
It seems to be working fine when I use values > 0 for --cpu-used

Original comment by somethin...@gmail.com on 3 Jan 2013 at 5:33

GoogleCodeExporter commented 9 years ago
It happens to me too. With Cloverfield 720p teaser clip from Apple Trailers and 

  -p 2 -t 2 --tune-ssim \
  --best --target-bitrate=2000 --end-usage=vbr \
  --auto-alt-ref=1 -v \
  --minsection-pct=5 --maxsection-pct=800 \
  --lag-in-frames=16 --kf-min-dist=0 --kf-max-dist=360 \
  --token-parts=2 --static-thresh=0 --drop-frame=0 \
  --min-q=0 --max-q=60

Original comment by nng...@gmail.com on 14 Jan 2013 at 9:20

GoogleCodeExporter commented 9 years ago
Forgot to add, decode fails at about frame 124 in the Cloverfield teaser clip.

Doesn't work:
--tune=ssim --cpu-used=0 --good
--tune=ssim --cpu-used=1 --best
--tune=ssim --best --cpu-used=1    (checking if order mattered)

Works:
--best --cpu-used=0

Tune SSIM is the culprit?

Original comment by nng...@gmail.com on 14 Jan 2013 at 7:38

GoogleCodeExporter commented 9 years ago
It works for values >0 for --cpu-used if I use --good.

Fails for all --best..

I too used --tune=ssim

Original comment by somethin...@gmail.com on 14 Jan 2013 at 8:34

GoogleCodeExporter commented 9 years ago

Original comment by albe...@google.com on 17 Jan 2013 at 11:31

GoogleCodeExporter commented 9 years ago
--best and --tune=ssim have not been tested yet so thanks for checking this 
out. I will add it to the to do list.

The preview branch has now been merged into the master branch and is no longer 
maintained as a separate branch. We have also added a number of additional 
experiments to the master branch which improve quality (especially subjective) 
quite a lot, so if possible please use this for testing.

Alternatively if you want to see the latest state of play pull the experimental 
branch.

thanks for your help,

Paul Wilkins

Original comment by paulwilk...@google.com on 21 Jan 2013 at 10:51

GoogleCodeExporter commented 9 years ago
I'm hitting this problem again, this time even without using --tune=ssim

Here's the backtrace from gdb:

Original comment by somethin...@gmail.com on 28 May 2013 at 7:06

Attachments: