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. 04 Nov, 2016 2 commits
  3. 31 Oct, 2016 1 commit
  4. 27 Oct, 2016 1 commit
  5. 26 Oct, 2016 1 commit
  6. 21 Oct, 2016 2 commits
  7. 20 Oct, 2016 2 commits
  8. 19 Oct, 2016 2 commits
  9. 14 Oct, 2016 1 commit
    • Urvang Joshi's avatar
      Wrap palette code inside CONFIG_PALETTE flag. · b100db7c
      Urvang Joshi authored
      This flag was already added to aomedia/master, so bringing it back to
      webm/nextgenv2, as part of an effort to get the two codebases in sync.
      
      Change-Id: I2b933a6a160e4210d1411a9e7978149eb8553205
      b100db7c
  10. 13 Oct, 2016 1 commit
    • 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
  11. 02 Oct, 2016 1 commit
    • Debargha Mukherjee's avatar
      Further changes to new-quant tables · 3c42c096
      Debargha Mukherjee authored
      Refactor to streamline the number of profiles needed, in
      preparation for the next steps.
      
      NO change in performance.
      
      Change-Id: I753b89299897857f3c250c316b4cdc4fedcb90e8
      3c42c096
  12. 29 Sep, 2016 1 commit
    • Yue Chen's avatar
      Fix unit test failure for RECT_TX + VAR_TX · 49587a77
      Yue Chen authored
      Disable rect_tx because we only support 4x4 Walsh-Hadamard transform
      in lossless mode.
      
      Fixes failure in ./test_libaom --gtest_filter=*Large*ScreencastQ0/1
      Configuration: --enable-experimental --enable-var-tx --enable-rect-tx
       --enable-ref-mv --enable-ext_intra --enable-ext_tx --enable-debug
       --disable-optimizations
      
      Change-Id: Ib6b3494c7dcf7182f1cab9b138388d054851a23d
      49587a77
  13. 26 Sep, 2016 1 commit
  14. 22 Sep, 2016 1 commit
  15. 15 Sep, 2016 1 commit
  16. 09 Sep, 2016 1 commit
    • James Zern's avatar
      s/INTERP_FILTER/InterpFilter/ · 7b9407a8
      James Zern authored
      this matches style guidelines and stabilizes successive runs of
      clang-format across the tree. remaining types should be address in
      successive commits.
      
      Change-Id: I6ad3f69cf0a22cb9a9b895b272195f891f71170f
      7b9407a8
  17. 05 Sep, 2016 1 commit
    • Debargha Mukherjee's avatar
      Enable rectangular transforms for UV · 2f12340f
      Debargha Mukherjee authored
      Uses an array to map block sizes, y tx sizes, and subsampling
      factors to various transform sizes for UV.
      
      Results improve by 0.1-0.2%
      
      Change-Id: Icb58fd96bc7c01a72cbf1332fe2be4d55a0feedc
      2f12340f
  18. 02 Sep, 2016 1 commit
  19. 01 Sep, 2016 3 commits
  20. 29 Aug, 2016 1 commit
  21. 26 Aug, 2016 1 commit
    • Geza Lore's avatar
      Use rectangular transforms for >= 8x8 blocks · d21982c8
      Geza Lore authored
      For rectangular blocks between 8x8 and 32x32, we can now code the
      transform size as one bigger than the largest square that fits in
      the block (eg, for 16x8, we can code a transform size of 16x16
      rather than the previous maximum of 8x8), when this oversized
      transform is coded in the bitstream, the codec will use the full
      size rectangular transform for that block (eg 16x8 transform in
      the above example).
      
      Also fixes a scaling bug in 16x8/8x16 transforms.
      
      Change-Id: I62ce75f1b01c46fe2fbc727ce4abef695f4fcd43
      d21982c8
  22. 22 Aug, 2016 1 commit
  23. 16 Aug, 2016 2 commits
    • Yaowu Xu's avatar
      Port dering experiment from aom · 253c001f
      Yaowu Xu authored
      Mannually cherry-picked:
      15791332 Use OD_DIVU for small divisions in temporal_filter.
      03122298 Replace divides by small values with multiplies.
      9c48eec7 Removing divisions from od_dir_find8()
      0950ed82 Merge "Port active map / cyclic refresh fixes to vp10."
      efefdad7 Port active map / cyclic refresh fixes to vp10.
      1eaf748c Port switch to 9-bit rate cost to aom.
      0b1606e7 Only build deringing code when --enable-dering.
      e2511e15 Deringing cleanup: don't hardcode the number of levels
      8fe5c5d6 Rename dering_in to od_dering_in to sync with Daala
      4eb1380d Makes second filters for 45-degree directions horizontal
      7f4c3f58 Removes the superblock variance contribution to the threshold
      3dc56f93 Simplifying arithmetic by using multiply+shift
      cf2aaba9 Return 0 explicitly for OD_ILOG(0).
      49ca22aa Use the Daala implementation of OD_ILOG().
      85187243 Fix compiler warning in od_dering.c.
      485d6a69 Prevent multiple inclusion of odintrin.h.
      51b7a998 Adds the Daala deringing filter as experimental
      
      Note that a few of the changes were already in libvpx codebse.
      
      Change-Id: I1c32ee7694e5ad22c98b06ff97737cd792cd88ae
      253c001f
    • Yaowu Xu's avatar
      Port commits related to clpf and qm experiments · 0818a7c8
      Yaowu Xu authored
      Manually cherry-picked following commits from AOMedia git repository:
      bb2727c2 Sort includess for "clpf.h"
      c297fd00 Add quantisation matrix range parameters.
      0527894f Add encoder option and signaling for quant matrix control.
      4106232b Turn off trellis coding for quantization matrices.
      4017fca3 Modify tests to allow quantization matrices.
      1c122c24 Add quant and dequant functions for new quant matrices.
      95a89994 Enable CLPF
      f72782bb Fix a build issue
      73bae509 Add quantisation matrices and selection functions
      33208d20 Added support for constrained low pass filter (CLPF)
      
      Change-Id: I60fc1ee1ac40e6b9d1d00affd97547ee5d5dd6be
      0818a7c8
  24. 12 Aug, 2016 1 commit
  25. 26 Jul, 2016 1 commit
  26. 21 Jul, 2016 1 commit
    • Debargha Mukherjee's avatar
      Rectangular transforms 4x8 & 8x4 · e5848dea
      Debargha Mukherjee authored
      Added a new expt rect-tx to be used in conjunction with ext-tx.
      [rect-tx is a temporary config flag and will eventually be
      merged into ext-tx once it works correctly with all other
      experiments].
      
      Added 4x8 and 8x4 tranforms for use initially with rectangular
      sub8x8 y blocks as part of this experiment.
      
      There is about a -0.2% BDRATE improvement on lowres, others pending.
      
      When var-tx is on rectangular transforms are currently not used.
      That will be enabled in a subsequent patch.
      
      Change-Id: Iaf3f88ede2740ffe6a0ffb1ef5fc01a16cd0283a
      e5848dea
  27. 19 Jul, 2016 1 commit
    • Sarah Parker's avatar
      Add global motion parameters to compressed header · 5fa46c0b
      Sarah Parker authored
      Currently nothing is implemented to compute GM parameters, this
      just adds the capability to send them in the bitstream if they
      were computed. Still need to implement the reconstruction
      based on the parameters in reconinter.
      
      Change-Id: I72aea3c6a9de9f5a40f96da76c82b54a52781fe2
      5fa46c0b
  28. 18 Jul, 2016 1 commit
  29. 30 Jun, 2016 1 commit
    • Geza Lore's avatar
      Reject ext-inter compound modes based on modelled RD. · 532304e4
      Geza Lore authored
      Reject ext-inter compound modes before doing full rate distortion
      evaluation, if the corresponding single reference modes had a lower
      modelled RD.
      
      ext-inter speedup up to TBD.
      
      Coding performance: TBD
      
      Change-Id: I358bfb879c5ebe5e7afbf6f540cc784f8de14857
      532304e4
  30. 29 Jun, 2016 1 commit
  31. 24 Jun, 2016 1 commit
  32. 22 Jun, 2016 2 commits
    • Jingning Han's avatar
      Refactor reference frame type defs · b605de07
      Jingning Han authored
      Move the reference frame type definitions to common/enums.h file.
      Replace hard coded numbers.
      Combine repeated definitions.
      
      Change-Id: I288e079a03e448014cc181bcdb3f88ee8ec8d139
      b605de07
    • Jingning Han's avatar
      Make drl support bi-directional reference frames · c2195c5b
      Jingning Han authored
      This commit refactors the reference frame structure used in the
      dynamic motion vector referencing system, and makes it support
      the bi-directional reference frames. This resolves unit test
      failure (enc/dec mismatch) when both are turned on.
      
      The compression performance (ref-mv + ext-refs) is improved by
      0.2% for lowres.
      
      Change-Id: I233624d8fccc1f69e82295f94de984ff056365dc
      c2195c5b