VP9 progress update.
I just thought I would give everyone an update on what the team have been up to for the last few weeks since the official freeze of the VP9 bitstream mid June.
Encoder speed improvements.
We have been working hard to improve the encoder speed / quality trade off. This involves a mixture of code optimization, code clean up and algorithmic experiments that limit the number of modes etc. that are searched. Most of the experiments are controlled by flags which are turned on and off using different command line speed settings.
The quality/speed settings used for all previously quoted results were “--good --cpu-used=0” so the results below are compared to this baseline, using a build just before the freeze.
Command line setting Speedup Quality impact
--good --cpu-used=0 ~x6.5 ~ +1% !
--good --cpu-used=1 ~x21 ~ -5.5%
--good --cpu-used=2 ~x48 ~ -12%
Obviously our aim is to continue to increase the speed multiplier for all settings and decrease the quality penalty for speeds 1 and 2. Stay tuned.....
Decoder speed
On the decoder side we have recently started optimizing for arm and so far have about a x2 speed up. For Intel architectures we have improved decode speed by about x1.3. Plenty more to come!
Bug fixes
I also want to draw your attention to the following bugs that have identified and fixed since the formal freeze. All these have been incorporated into the Chrome M29 branch.
Loop filter edge cases.
Change-Id: Ib2fbbcb40166e90af31b1a0e13b85b68c226cbd3
Change-Id: I4a0b65056c64f97478827c2ff41e0914fc7779d0
Bug in prediction context for compound reference frame.
Change-Id: I4cc00b761e9473f92f180a9fc3a0c607f0aaae56
Border extension when using reference buffers at different scales.
Change-Id: I5184443e6731cd6721fc6a5d430a53e7d91b4f7e
Change-Id: I02d15bfde4d926b50a4e58b393d8c4062d1be70f
Key frame context initialization (with scalable coding)
Change-Id: I08b53e3a30c8289491212311682ff1b8028cff6c
Define fixed quant tables to avoid possible architecture dependant rounding issues.
Change-Id: I6ed260aebd49feb4cfb5596a5370c44be5f72167
Documentation.
We now have someone working full time on properly documenting the bitstream and will hopefully make this a priority in the coming weeks.
Regards,
Paul Wilkins
Documentation.
We now have someone working full time on properly documenting the bitstream and will hopefully make this a priority in the coming weeks.
Regards,
Paul Wilkins