VP9 Video Codec

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相关的代码。
 
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)
 
 

VP9 Video Codec Summary

Show Contents

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

原文地址:https://www.cnblogs.com/endv/p/7012661.html