1. 20 Oct, 2016 1 commit
    • Alex Converse's avatar
      Add ec_multisymbol for common daala_ec and rans code · f2753c34
      Alex Converse authored
      The new ec_multisymbol experiment supersedes the rans experiment and is
      used for multisymbol features that can be backed by either daala_ec or
      This experiment is automatically enabled by ec_adapt and will try to
      enable daala_ec or ans (in that order).
      Change-Id: Ie75b4002b7a9d7f5f7b4d130c1aacb3dbe97e54f
  2. 06 Oct, 2016 1 commit
  3. 05 Oct, 2016 1 commit
  4. 04 Oct, 2016 1 commit
    • Thomas's avatar
      Add EC_ADAPT experiment for symbol-adaptive entropy coding. · b0112dfd
      Thomas authored
      This experiment performs symbol-by-symbol statistics
      adaptation for non-binary symbols. It requires DAALA_EC or
      RANS and ANS to be enabled. The adaptation is currently
      based on a simple recursive filter and is taken from
      Daala. It has an adaptation rate dependent on alphabet size,
      taken from Daala. It applies wherever non-binary symbols
      are encoded using Cumulative Probability Functions rather
      than trees.
      Where symbols are adapted, forward updates in the compressed
      header are removed.
      In the case of RANS coefficient token values are adapted,
      with the exception of the zero token which remains a
      binary symbol. In the case of DAALA_EC other values
      such as inter and intra modes are adapted as CDFs are
      provided in those cases.
      The experiment is configured with:
      ./configure --enable-experimental --enable-daala-ec --enable-ec-adapt
      ./configure --enable-experimental --enable-ans --enable-rans \
      EC_ADAPT is not currently compatible with tiles.
      BDR results on Objective-1-fast give a small loss:
      PSNR YCbCr:      0.51%      0.49%      0.48%
      PSNRHVS:      0.50%
      SSIM:      0.50%
      MSSSIM:      0.51%
      CIEDE2000:      0.50%
      Change-Id: I3888718e42616f3fd87144de7f125228446ac984
  5. 30 Sep, 2016 1 commit
  6. 19 Sep, 2016 1 commit
  7. 15 Sep, 2016 3 commits
  8. 14 Sep, 2016 5 commits
  9. 13 Sep, 2016 4 commits
    • Nathan E. Egge's avatar
      Update y_mode_cdf tables once per frame. · 7b8ac4f5
      Nathan E. Egge authored
      Move computing the y_mode_cdf tables per coded intra mode symbol to
       computing them only when the probabilities are updated.
      Change-Id: I8c43d09b8ef5febe2a3ec64bd51d28bd78ea73ed
    • Nathan E. Egge's avatar
      Update kf_y_mode_cdf tables once per frame. · ef56088c
      Nathan E. Egge authored
      Move computing the kf_y_mode_cdf tables per coded intra mode symbol to
       computing them only when the probabilities are updated.
      Change-Id: I5999447050c2f7d5dbccde80bee05ecd1c5440ab
    • Nathan E. Egge's avatar
      Use intra_ext_tx_cdf when coding tx_type. · a734340b
      Nathan E. Egge authored
      When building with --enable-daala_ec, the tx_type for intra blocks can be
       coded using the CDFs that are updated once per frame.
      This patch converts a tx_type symbol to be coded with aom_write_symbol()
       and aom_read_symbol() that was missed in f3e8e267.
      Change-Id: I34f8fef7525f88e156bbcb78dfc48994367610ce
    • Jingning Han's avatar
      Fix compiler failure in ref-mv · c65fb3a8
      Jingning Han authored
      Fix the compiler failure in ref-mv due to conflict with aom_read
      Change-Id: Id61e70e2afe1142d0a71e2e0d251b678850d0b88
  10. 10 Sep, 2016 1 commit
    • Nathan E. Egge's avatar
      Code class0 using aom_read() / aom_write(). · be8a8ab6
      Nathan E. Egge authored
      The av1_mv_class0_tree is a balanced tree with two leafs and can
       simply be coded as a boolean with probability class0[0].
      If CLASS0_SIZE is ever changed from 1, this change will need to be
      Change-Id: If294dac825a5f945371092c74aa8e3f84cd962b6
  11. 07 Sep, 2016 2 commits
    • Urvang Joshi's avatar
      Fix build with --enable-palette. · 59228957
      Urvang Joshi authored
      Signature of aom_read_xxx function changed recently:
      So, updated the palette code to call those functions with the additional
      Change-Id: I364faee2e002f2bb7ac889ee15c5f14b0d857128
    • Michael Bebenita's avatar
      Bit accounting. · e6b12944
      Michael Bebenita authored
      This patch adds bit account infrastructure to the bit reader API.
      When configured with --enable-accounting, every bit reader API
      function records the number of bits necessary to decoding a symbol.
      Accounting symbol entries are collected in global accounting data
      structure, that can be used to understand exactly where bits are
      spent (http://aomanalyzer.org). The data structure is cleared and
      reused each frame to reduce memory usage. When configured without
      --enable-accounting, bit accounting does not incur any runtime
      All aom_read_xxx functions now have an additional string parameter
      that specifies the symbol name. By default, the ACCT_STR macro is
      used (which expands to __func__). For more precise accounting,
      these should be replaced with more descriptive names.
      Change-Id: Ia2e1343cb842c9391b12b77272587dfbe307a56d
  12. 05 Sep, 2016 1 commit
  13. 03 Sep, 2016 1 commit
    • Nathan E. Egge's avatar
      Update segment tree_cdf per frame. · e1f9e33d
      Nathan E. Egge authored
      Move computing the segmentation_probs.tree_cdf table per symbol to
       computing it only when the probabilities are updated.
      Change-Id: I3826418094bbaca4ded87de5ff04d4b27c85e35a
  14. 26 Aug, 2016 1 commit
    • Urvang Joshi's avatar
      Move palette code from libvpx/nextgenv2 to aomedia. · 764d1266
      Urvang Joshi authored
      Palette code originally by huisu@. Gives 11.68% BDRate improvement on
      screen content set.
      Last 7 small speedup patches from me, giving 10% speedup overall for
      screen content set.
      From aomedia/master:
      Revert 57fa6267 : Remove color_index_map
      From libvpx/nextgenv2:
      c93e5cc3 : Bring palette back to nextgenv2
      827e1b3f : Add test for screen content coding tools in end to end test
      78b0bd0a : Complete (mostly) migration of palette mode
      8a128c2a : Fixes for Palette mode
      4ab00912 : Palette mode: record selected transform type
      cbb8be76 : Set block size upper bound for Palette mode
      bb0e6921 : Convert palette from double to float.
      a0a23b7f : faster code: replace nested for loops by memcpy().
      016a5daa : Palette code: simpler and faster duplicate removal
      d0000208 : Palette code cleanup
      6dde8018 : Use built-in qsort(); create remove_dup() method.
      f746c103 : Handle centroid rounding inside palette.c itself.
      d68c7b6d : Palette: count Y colors only for screen content.
      f1906e96 : Palette code: remove the use of same if condition twice.
      Locally made sure all combinations of "--enable-ext-intra" and/or
      "--enable-palette" and/or "--enable-aom-highbitdepth" build OK.
      P.S. Note for future reference:
      EXT_INTRA experiment has only been moved *partially* to aomedia at this
      point. If and when the rest is moved to aomedia, EXT_INTRA + PALETTE
      combo needs to be moved to aomedia as well.
      Change-Id: I8826780014ec8a88281e56c8258b7c966121b46f
  15. 18 Aug, 2016 1 commit
  16. 16 Aug, 2016 1 commit
  17. 28 Jul, 2016 2 commits
    • Nathan E. Egge's avatar
      Update inter_ext_tx_cdf per frame. · 73845731
      Nathan E. Egge authored
      Move computing the inter_ext_tx_cdf tables per symbol to
       computing them only when the probabilities are updated.
      Change-Id: I5e1e62f8eae8f6b2edbbd378beeb786649502c10
    • Nathan E. Egge's avatar
      Update intra_ext_tx_cdf per frame. · 785e975a
      Nathan E. Egge authored
      Move computing the intra_ext_tx_cdf tables per symbol to
       computing them only when the probabilities are updated.
      Change-Id: I26d5e419e103093e98a7d896c196176305b50fc9
  18. 25 Jul, 2016 1 commit
  19. 20 Jul, 2016 1 commit
  20. 14 Jul, 2016 1 commit
    • Zoe Liu's avatar
      Add the use of new reference frames at encoder in EXT_REFS · 9c1e2f92
      Zoe Liu authored
      In the experiment of EXT_REFS, add the use of the 3 extra reference
      frames, including the 2 forward reference frames LAST2 and LAST3, and
      the one backward reference frame BWDREF, for the encoding.
      For lowres, EXT_REFS achieves following bitrate saving on overall PSNR
      compared against baseline:
      Avg: -4.581  BDRate: -4.358
      Change-Id: Ib15b65681c39892ddfce5e4107598c0a22317ccd
  21. 28 Jun, 2016 2 commits
    • Angie Chiang's avatar
      Avoid transfer interp_filter type when there is no sub-pixel · 80347995
      Angie Chiang authored
      PSNR improvement:
      lowres: 0.112% on top of ext_interp experiment
      Change-Id: I86e5a942c22bb0cdca6e86523f95b196ee85ca46
    • Jingning Han's avatar
      Construct ref mv candidate list selectively · cf3eb03e
      Jingning Han authored
      This commit makes the decoder to construct the reference motion
      vector candidate list only for the selected reference frames. This
      improves the decoder speed. For the test clip pedestrian_area at
      1080p, coded at 3000 kbps, the decoding speed goes up from 58.4 fps
      to 72 fps.
      Change-Id: I257c521f46221936028ae01f205520d94ba7f16e
  22. 22 Jun, 2016 1 commit
    • Zoe Liu's avatar
      Add pred prob handling for new references in EXT_REFS · f91498c0
      Zoe Liu authored
      For the experiment of EXT_REFS, add the handling of the context
      probabilities for both forward reference frames (namely
      LAST/LAST2/LAST3/GOLDEN) and backward reference frames
      (namely BWDREF/ALTREF).
      Change-Id: Ibd991673acf6ff2fc9a56b8805eca9173cbf5fdc
  23. 15 Jun, 2016 2 commits
  24. 04 Jun, 2016 1 commit
  25. 03 Jun, 2016 1 commit
    • Jingning Han's avatar
      Account DRL in the motion vector coding · 4ceb066d
      Jingning Han authored
      This commit makes the motion vector coding context account for the
      dynamic motion vector predictor index.
      Change-Id: I86fc98668130140118458c773b3dd6d3ed4bc448
  26. 19 May, 2016 1 commit
    • James Zern's avatar
      s/INTERP_FILTER/InterpFilter/ · d54236a9
      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
  27. 10 May, 2016 1 commit
    • clang-format's avatar
      apply clang-format · a2dc61c7
      clang-format authored and James Zern's avatar James Zern committed
      .c files were missed in the previous change
      Change-Id: I9d22cd83e1f87472bfb09e6a38284396b2fcd860