1. 18 Nov, 2016 1 commit
    • Jingning Han's avatar
      Sync reference frame type use case · 731af49c
      Jingning Han authored
      This commit re-synchronize the reference frame type use cases in
      the dynamic motion vector referencing system.
      
      Change-Id: Ib25231c716db4176cd67cbdc889472a06b607194
      731af49c
  2. 16 Nov, 2016 2 commits
  3. 11 Nov, 2016 1 commit
    • Sarah Parker's avatar
      Add ability to have multiple compound modes for interinter · 6fddd18f
      Sarah Parker authored
      This is currently just a refactor and creates no change in performance.
      It allows new compound types to be added easily in the future to
      facilitate experiments with segmentation masks.
      
      Change-Id: If48fed216d482454fabb45a304b4220ada0dbdee
      6fddd18f
  4. 10 Nov, 2016 3 commits
  5. 08 Nov, 2016 1 commit
  6. 05 Nov, 2016 1 commit
  7. 04 Nov, 2016 1 commit
    • Jingning Han's avatar
      Refactor tx_type reader · ab7163db
      Jingning Han authored
      Factor out common codes. Remove repeated mbmi->tx_size calls.
      
      Change-Id: Id5de35e88f1a5f16223eaa06fc2c9f69124061ef
      ab7163db
  8. 02 Nov, 2016 1 commit
    • Jingning Han's avatar
      Make bit-stream support rectangular tx_size · f64062f3
      Jingning Han authored
      Allow the transform size writing, reading, and the reconstruction
      process to support rectangular transform block size coding.
      
      Change-Id: I57393c73ec60835a088d785ca838d7e3d7eb29a4
      f64062f3
  9. 01 Nov, 2016 1 commit
  10. 31 Oct, 2016 1 commit
  11. 30 Oct, 2016 1 commit
    • Alex Converse's avatar
      Add ec_multisymbol for common daala_ec and rans code · aca9feba
      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
      rans.
      
      This experiment is automatically enabled by ec_adapt and will try to
      enable daala_ec or ans (in that order).
      
      Change-Id: Ie75b4002b7a9d7f5f7b4d130c1aacb3dbe97e54f
      aca9feba
  12. 29 Oct, 2016 1 commit
    • Thomas's avatar
      Add EC_ADAPT experiment for symbol-adaptive entropy coding. · 9ac5508f
      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
      
      or
      
      ./configure --enable-experimental --enable-ans --enable-rans \
          --enable-ec-adapt
      
      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
      9ac5508f
  13. 28 Oct, 2016 1 commit
  14. 27 Oct, 2016 2 commits
  15. 26 Oct, 2016 2 commits
  16. 24 Oct, 2016 1 commit
  17. 21 Oct, 2016 11 commits
    • Nathan E. Egge's avatar
      Update class0_fp_cdf and fp_cdf tables once per frame. · 5f34b619
      Nathan E. Egge authored
      Move computing the class0_fp_cdf and fp_cdf tables per coded mv
       symbol to computing it only when the probabilities are updated.
      
      Change-Id: Ib4957c8ab21e6189bcc3817a07b7681dfb343223
      5f34b619
    • Nathan E. Egge's avatar
      Update class_cdf table once per frame. · d7b893c6
      Nathan E. Egge authored
      Move computing the class_cdf table per coded mv class symbol to
       computing it only when the probabilities are updated.
      
      Change-Id: I6c4a9075817e8ba2e251f0e82436995f08f2ec5c
      d7b893c6
    • Nathan E. Egge's avatar
      Update joint_cdf table once per frame. · 5f7fd7ab
      Nathan E. Egge authored
      Move computing the joint_cdf table per coded mv joint symbol to
       computing it only when the probabilities are updated.
      
      Change-Id: If5d195f70e6fad7b60f69606c8386ad5e69657d2
      5f7fd7ab
    • Nathan E. Egge's avatar
      Update inter_mode_cdf tables once per frame. · 6ec4d10d
      Nathan E. Egge authored
      Move computing the inter_mode_cdf tables per coded inter mode symbol to
       computing them only when the probabilities are updated.
      
      Change-Id: I7a7b059ee75723cb6f278ed82a20cf34c27915d8
      6ec4d10d
    • Jingning Han's avatar
      Limit the transform block partition depth · 94d5bfcc
      Jingning Han authored
      Limit the recursive transform block partition depth to 2. For a
      32x32 transform block unit, one can maximally go down to 8x8 transform
      block size.
      
      Change-Id: I2caa92bb2eee64762b7ecca8920259f7c50fb0aa
      94d5bfcc
    • Jingning Han's avatar
      Separate intra and inter tx_size counting · dc9ad312
      Jingning Han authored
      Skip counting the inter transform block size distribution for
      the intra transform block size coding.
      
      Change-Id: Ifad9d843f57d069d0619a54d66ca18101e1b69f1
      dc9ad312
    • Nathan E. Egge's avatar
      Update uv_mode_cdf tables once per frame. · 380cb1a9
      Nathan E. Egge authored
      Move computing the uv_mode_cdf tables per coded intra mode symbol to
       computing them only when the probabilities are updated.
      
      Change-Id: I627b59d30726c913f5d7ba7753cb0446a12655bb
      380cb1a9
    • Nathan E. Egge's avatar
      Update y_mode_cdf tables once per frame. · 5710c722
      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
      5710c722
    • Nathan E. Egge's avatar
      Update kf_y_mode_cdf tables once per frame. · 3ef926ed
      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
      3ef926ed
    • Nathan E. Egge's avatar
      Code class0 using aom_read() / aom_write(). · 45ea963f
      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
       reverted.
      
      Change-Id: If294dac825a5f945371092c74aa8e3f84cd962b6
      45ea963f
    • Nathan E. Egge's avatar
      Use intra_ext_tx_cdf when coding tx_type. · 72762a28
      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
      72762a28
  18. 20 Oct, 2016 3 commits
  19. 19 Oct, 2016 4 commits
    • Thomas Davies's avatar
      Step size and arithmetic coding for delta quantization. · f693610a
      Thomas Davies authored
      Example performance: 1.8% bit rate savings using
      the AQ test mode aq-mode=4 :
      ./aomenc --codec=av1 --ivf --tile-columns=1 --tile-rows=1 \
                       --kf-max-dist=1000 --kf-min-dist=1000 --cpu-used=0 \
                       --passes=1 --threads=1 --lag-in-frames=0 \
                       --end-usage=q --limit=600 --cq-level=42 \
                       --aq-mode=4 --error-resilient=1 out.bits FourPeople_1280x720_60.y4m
      
      Change-Id: Iba01cf2732a57f3c27481ac2a3c8fc37bb9e5533
      f693610a
    • Arild Fuldseth's avatar
      Support for delta-q at superblock level · 07441165
      Arild Fuldseth authored
      Change-Id: I4128af44776d1f361bddc1fdffb75ed2224dbfa5
      07441165
    • Michael Bebenita's avatar
      Bit accounting. · 6048d052
      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
      overhead.
      
      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
      6048d052
    • Urvang Joshi's avatar
      Fix warnings reported by -Wshadow: Part2: av1 directory · 454280da
      Urvang Joshi authored
      While we are at it:
      - Rename some variables to more meaningful names
      - Reuse some common consts from a header instead of redefining them.
      
      Cherry-picked from aomedia/master: 863b0499
      
      Change-Id: Ida5de713156dc0126a27f90fdd36d29a398a3c88
      454280da
  20. 18 Oct, 2016 1 commit
    • Nathan E. Egge's avatar
      Update segment tree_cdf per frame. · f627e58e
      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
      f627e58e