• 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

  • 相关阅读:
    机器学习-分类算法-决策树,随机森林10
    机器学习-分类算法-模型选择与调优09
    机器学习-分类算法-精确率和召回率08
    机器学习-分类算法-朴素贝叶斯算法07
    机器学习-分类算法-K-近邻算法06
    java读取自定义配置文件并引用
    kafka发布消息报错LEADER_NOT_AVAILABLE
    Kettle位置参数(Argument)、命名参数(Parameter)、变量(Variable)
    kettle里的两个参数和一个变量
    如何在命令行下运行kettle的作业(job)和转换(transform)
  • 原文地址:https://www.cnblogs.com/endv/p/7012661.html
Copyright © 2020-2023  润新知