http://www.webmproject.org/vp9/
WebM Repositories
libvpx: VP8/VP9 Codec SDK
pull | http://git.chromium.org/webm/libvpx.git |
push | ssh://gerrit.chromium.org:29418/webm/libvpx.git |
browse | http://git.chromium.org/gitweb/?p=webm/libvpx.git |
browse (mirror) | http://code.google.com/p/webm/source/browse/?repo=libvpx |
API Reference | http://www.webmproject.org/docs/vp8-sdk/ |
对于很多带有WEBM/WEBP文件容器的码流需要进行demux才能解码(但是上面的libvpx内嵌了demux video,能够直接支持WEBM/WEBP的解码,不再需要另外附加下面的demux。对于其它的codec可能需要下面的demux支持):
libwebm: WebM File Parser
pull | http://git.chromium.org/webm/libwebm.git |
push | ssh://gerrit.chromium.org:29418/webm/libwebm.git |
browse | http://git.chromium.org/gitweb/?p=webm/libwebm.git |
browse (mirror) | http://code.google.com/p/webm/source/browse/?repo=libwebm |
pull | http://git.chromium.org/webm/libwebp.git |
push | ssh://gerrit.chromium.org:29418/webm/libwebp.git |
browse | http://git.chromium.org/gitweb/?p=webm/libwebp.git |
browse (mirror) | http://code.google.com/p/webm/source/browse/?repo=libwebp |
编译过程中的2个大的issue:
1. 如果运行
git clone 的时候发生:
fatal: fsync error ...., fatal : index pack failed 错误,原因是因为这个git 的目录的权限被改写成了只读,需要手工改成可写。
2. 如果编译过程中test编译不过去,可以disable,在有些版本的libvpx中好像缺少了test相关的代码。
https://code.google.com/p/webm/issues/detail?id=498
3. VP9 High bitdepth debug版本的编译
目前还是处于试验版本阶段,需要在configure中enable:
./configure --disable-sse --disable-sse2 --disable-sse3 --disable-ssse3 --disable-vp8 --disable-mmx --as=nasm --disable-unit-tests --enable-debug-libs --enable-experimental --enable-vp9-high --enable-high-quant
编译成功后,vpxenc中会有bitdepth的选项:
VP9 Specific Options:
--cpu-used= CPU Used (-16..16)
--auto-alt-ref= Enable automatic alt reference frames
--noise-sensitivity= Noise sensitivity (frames to blur)
--sharpness= Filter sharpness (0-7)
--static-thresh= Motion detection threshold
--tile-columns= Number of tile columns to use, log2
--tile-rows= Number of tile rows to use, log2
--arnr-maxframes= AltRef Max Frames
--arnr-strength= AltRef Strength
--arnr-type= AltRef Type
--tune= Material to favor
psnr, ssim
--cq-level= Constant/Constrained Quality level
--max-intra-rate= Max I-frame bitrate (pct)
--lossless= Lossless mode
--frame-parallel= Enable frame parallel decodability features
--aq-mode= Adaptive quantization mode
off, variance, complexity, cyclic
--frame_boost= Enable frame periodic boost (0: off (default), 1: on)
-b , --bit-depth= Bit depth for codec (8 for version <=1, 10 or 12 for version 2)
8, 10, 12
--input-bit-depth= Bit depth of input
可以用下面的命令来进行编码:
vpxenc -w 352 -h 288 --codec=vp9 --passes=2 --i420 --profile=2 -o out.vp9 test.yuv --experimental-bitstream -b 12 --input-bit-depth=12
使用了PASS2的编码:
Pass 1/2 frame 64/65 9880B 1235b/f 37050b/s 351611 us (182.02 fps)
Pass 2/2 frame 64/40 72759B 61930 ms 1.03 fps [ETA 0:00:34] 822F 275F 454F 259F 187F 3967F 304F 327F 473F 136F 127F 209F 225F 159F 172F 105F 3322F 139F 305F 229F 445F 379F Pass 2/2 frame 64/64 86083B 10760b/f 322811b/s 106387 ms (0.60 fps)
各种视频编码器的命令行格式(zz)
VP9 Video Codec Summary
Last modified 2013-08-08
VP9, the WebM Project’s next-generation open video codec, became available on June 17, 2013. This page summarizes post-release VP9 topics of interest to the WebM community.
Status Updates
Acquiring VP9 (libvpx)
As of 2013-06-17, V