1. 07 Nov, 2016 1 commit
    • Yushin Cho's avatar
      New experiment: Perceptual Vector Quantization from Daala · 77bba8d3
      Yushin Cho authored
      PVQ replaces the scalar quantizer and coefficient coding with a new
      design originally developed in Daala. It currently depends on the
      Daala entropy coder although it could be adapted to work with another
      entropy coder if needed:
      ./configure --enable-experimental --enable-daala_ec --enable-pvq
      
      The version of PVQ in this commit is adapted from the following
      revision of Daala:
      https://github.com/xiph/daala/commit/fb51c1ade6a31b668a0157d89de8f0a4493162a8
      
      More information about PVQ:
      - https://people.xiph.org/~jm/daala/pvq_demo/
      - https://jmvalin.ca/papers/spie_pvq.pdf
      
      The following files are copied as-is from Daala with minimal
      adaptations, therefore we disable clang-format on those files
      to make it easier to synchronize the AV1 and Daala codebases in the future:
       av1/common/generic_code.c
       av1/common/generic_code.h
       av1/common/laplace_tables.c
       av1/common/partition.c
       av1/common/partition.h
       av1/common/pvq.c
       av1/common/pvq.h
       av1/common/state.c
       av1/common/state.h
       av1/common/zigzag.h
       av1/common/zigzag16.c
       av1/common/zigzag32.c
       av1/common/zigzag4.c
       av1/common/zigzag64.c
       av1/common/zigzag8.c
       av1/decoder/decint.h
       av1/decoder/generic_decoder.c
       av1/decoder/laplace_decoder.c
       av1/decoder/pvq_decoder.c
       av1/decoder/pvq_decoder.h
       av1/encoder/daala_compat_enc.c
       av1/encoder/encint.h
       av1/encoder/generic_encoder.c
       av1/encoder/laplace_encoder.c
       av1/encoder/pvq_encoder.c
       av1/encoder/pvq_encoder.h
      
      Known issues:
      - Lossless mode is not supported, '--lossless=1' will give the same result as
      '--end-usage=q --cq-level=1'.
      - High bit depth is not supported by PVQ.
      
      Change-Id: I1ae0d6517b87f4c1ccea944b2e12dc906979f25e
      77bba8d3
  2. 28 Oct, 2016 1 commit
  3. 26 Oct, 2016 1 commit
  4. 19 Oct, 2016 1 commit
  5. 14 Oct, 2016 1 commit
  6. 13 Oct, 2016 2 commits
    • Yue Chen's avatar
      Renamings for OBMC experiment · cb60b185
      Yue Chen authored
      To get ready for pulling AV1 to nextgenv2
      Replace the experimental flag by MOTION_VAR. Rename major variables.
      
      Change-Id: If6cf4f37b9319c46d8f90df551cc7295d66ca205
      cb60b185
    • Jingning Han's avatar
      Sync 2x2 intra predictors · e3954d83
      Jingning Han authored
      Add 2x2 DC, V, H, TM intra predictors.
      
      Change-Id: I2a614adde553f821c45bc5a9bf09800a9f0aaa26
      e3954d83
  7. 12 Oct, 2016 2 commits
    • Yi Luo's avatar
      Hybrid forward transform 32x32 AVX2 optimization · fed8e1c0
      Yi Luo authored
      - av1_fht32x32 AVX2 function level time reduction ~89% compared to C.
      
      - av1_fht32x32_avx2() on DCT_DCT improves 42.62% over aom_fdct32x32_avx2()
        But function replacement must go with the corresponding inverse txfm.
      
      - No obvious user level time reduction due to 32x32 TX_TYPE selection.
      
      - Zero high 128b YMM to avoid AVX-SSE transition penalties
        (fix 16x16 case).
      
      - Added 32x32 AVX2 unit tests to verify bitexact.
      
      - AVX2 optimization summary:
        On CPU i7-6700, based on 16x16/32x32 fwd txfm optimization results:
        C to AVX2: function level time reduction, ~86-89%.
        SSE2 to AVX2: function level time reduction, ~51%.
      
      Change-Id: Idd0cd8bf066a61c7117140ef15ab6c1f8eb4b036
      fed8e1c0
    • Yaowu Xu's avatar
      minor updates · f36d0b46
      Yaowu Xu authored
      1. vp8->aom
      2. removed no-effect statements and spaces
      
      Change-Id: I367d05ff9bf1b9f3c71c517c45d8049d9d4236ec
      f36d0b46
  8. 10 Oct, 2016 4 commits
  9. 06 Oct, 2016 1 commit
    • Yi Luo's avatar
      Hybrid forward transforms 16x16 AVX2 optimization · e8e8cd8f
      Yi Luo authored
      - Unit tests are added for AVX2 SIMD.
      - Encoder speed improvement:
        AV1 baseline and EXT_TX, three 1080p sequences at bitrate:
        800 Kbps, 2 Mbps, 6 Mbps, on i7-6700 CPU, average
        user level time reduction: 3.86%.
      
      Change-Id: Ibbd7837ee3a831c6b1e4e471bf6c8d3fa3a19ff4
      e8e8cd8f
  10. 01 Sep, 2016 2 commits
    • Urvang Joshi's avatar
      Add ALT_INTRA experiment. · 340593e5
      Urvang Joshi authored
      When the experiment is ON, we use Paeth predictor instead of TM
      predictor.
      
      For derf set, this gives about 0.09% improvement overall, and 0.55%
      improvement if all frames are forced to be intra-only.
      
      Also, if the EXT_INTRA experiment is also on, the improvement overall
      is 0.056%, and improvement if all frames are forced to be intra-only is
      0.465%.
      
      Change-Id: Id74e107ede70a8d2107fa14fcb3f44b23a437274
      340593e5
    • Yaowu Xu's avatar
      Port renaming changes from AOMedia · f883b42c
      Yaowu Xu authored
      Cherry-Picked the following commits:
      0defd8f2 Changed "WebM" to "AOMedia" & "webm" to "aomedia"
      54e66767 Replace "VPx" by "AVx"
      5082a369 Change "Vpx" to "Avx"
      7df44f17 Replace "Vp9" w/ "Av1"
      967f722f Remove kVp9CodecId
      828f30ce Change "Vp8" to "AOM"
      030b5ffc AUTHORS regenerated
      2524caee Add ref-mv experimental flag
      016762be Change copyright notice to AOMedia form
      81e55269 Replace vp9 w/ av1
      9b94565b Add missing files
      fa8ca9f2 Change "vp9" to "av1"
      ec838b76  Convert "vp8" to "aom"
      80edfa01 Change "VP9" to "AV1"
      d1a11fb9 Change "vp8" to "aom"
      7b582513 Point to WebM test data
      dd1a5c8d Replace "VP8" with "AOM"
      ff00fc0f Change "VPX" to "AOM"
      01dee0bb Change "vp10" to "av1" in source code
      cebe6f0c Convert "vpx" to "aom"
      17b05679 rename vp10*.mk to av1_*.mk
      fe5f8a8a rename files vp10_* to av1_*
      
      Change-Id: I6fc3d18eb11fc171e46140c836ad5339cf6c9419
      f883b42c