1. 21 Oct, 2016 7 commits
    • 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
    • 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
  2. 20 Oct, 2016 1 commit
    • hui su's avatar
      Seperate FILTER_INTRA from EXT_INTRA experiment · 5db9743f
      hui su authored
      Prepare for the av1/nextgenv2 merge.
      
      Coding gain (%):
      
                     lowres     midres
      ext-intra       0.69       0.97
      filter-intra    0.67       0.83
      both            1.05       1.48
      
      Change-Id: Ia24d6fafb3e484c4f92192e0b7eee5e39f4f4ee6
      5db9743f
  3. 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
  4. 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
  5. 17 Oct, 2016 3 commits
    • Nathan E. Egge's avatar
      Update inter_ext_tx_cdf per frame. · 93878c42
      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
      93878c42
    • Nathan E. Egge's avatar
      Update intra_ext_tx_cdf per frame. · 7c5b4c16
      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
      7c5b4c16
    • Nathan E. Egge's avatar
      Update switchable_interp_cdf once per frame. · 4947c296
      Nathan E. Egge authored
      Move from computing the switchable_interp_cdf per symbol to
       computing once per frame when the probabilities are adapted.
      
      Change-Id: I6571126239f0327e22bb09ee8bad94114291683e
      4947c296
  6. 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
  7. 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
  8. 11 Oct, 2016 1 commit
    • Sarah Parker's avatar
      Read mode to mi->bmi for sub 8x8 blocks · d7fa8542
      Sarah Parker authored
      Previously, only the motion vectors were being stored. This caused
      a mismatch in the global motion experiment, which needs this
      mode information to decide whether or not to use the gm parameters
      in reconstruction.
      
      Change-Id: I58cde750ec06587dbfb8d65b07c15a67b7d6b1f6
      d7fa8542
  9. 03 Oct, 2016 1 commit
  10. 30 Sep, 2016 1 commit
  11. 29 Sep, 2016 2 commits
    • Yaowu Xu's avatar
      more ref_mv changes from aom/master · 4306b6e5
      Yaowu Xu authored
      Change-Id: I9152f898dfacdf3877ed719f193bb1e0dbee0a1a
      4306b6e5
    • 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
  12. 27 Sep, 2016 1 commit
  13. 26 Sep, 2016 2 commits
  14. 15 Sep, 2016 1 commit
  15. 09 Sep, 2016 2 commits
    • Jingning Han's avatar
      Sort header files · 1aab8184
      Jingning Han authored
      cherry-picked #ecd07473 from aom/master
      
      Change-Id: Id8f45d9c11406fc301b39801c5228ccd6aa2d5d6
      1aab8184
    • 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
  16. 06 Sep, 2016 1 commit
    • Yue Chen's avatar
      Make RECT_TX(>=8x8) work with VAR_TX · a1e48dcc
      Yue Chen authored
      Bitstream syntax:
      For a rectangular inter block, 'rect_tx' flag is sent to indicate if
      the biggest rect tx is used. If no, continue to decode regular
      recursive tx partition.
      
      Change-Id: I127e35cc619b65acb5e9a0717f399cdcdb73fbf0
      a1e48dcc
  17. 02 Sep, 2016 2 commits
    • Yaowu Xu's avatar
      Change to use AOM copyright notice · 2ab7ff05
      Yaowu Xu authored
      Change-Id: I2b2b70e756b7eb9611b7b33b7d5f19b3b30e0a50
      2ab7ff05
    • Sarah Parker's avatar
      Add global motion experiment to rdopt · e5299865
      Sarah Parker authored
      This patch completes the global motion experiment
      implementation. It modifies the format of the motion
      parameters to use the mv union to facilitate faster
      copying and checks for parameters equal to 0 that occur
      frequently in rdopt. The rd decisions for the global motion experiment
      have also been added to rdopt.
      Change-Id: Idfb9f0c6d23e538221763881099c5a2a3891f5a9
      e5299865
  18. 01 Sep, 2016 2 commits
  19. 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
  20. 23 Aug, 2016 1 commit
  21. 22 Aug, 2016 1 commit
  22. 12 Aug, 2016 1 commit
  23. 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
  24. 17 Jun, 2016 1 commit
    • Zoe Liu's avatar
      Merge bi-predictive frames to EXT_REFS · 5805a14c
      Zoe Liu authored
      This patch removed the experiment of BIDIR_PRED and merged the feature
      into the experiment of EXT_REFS:
      
      (1) Each frame now has up to 6 reference frames, namely
          LAST_FRAME, LAST2_FRAME, LAST3_FRAME, GOLDEN_FRAME, (forward) and
          BWDREF_FRAME, ALTREF_FRAME (backward);
          LAST4_FRAME has been removed;
      (2) First pass still keeps the 8 updates:
          KF_UPDATE, LF_UPDATE, GF_UPDATE, ARF_UPDATE, OVERLAY_UPDATE, and
          BRF_UPDATE, LAST_BIPRED_UPDATE, BI_PRED_UPDATE;
      (3) show_existing_frame==1 is supported in the experiment of EXT_REFS;
      (4) New encoding modes are added for both single-ref and compound cases,
          through the use of the 2 extra forward references (LAST2 & LAST3)
          and the 1 extra backward reference (BWDREF).
      
      RD performance wise, using Overall PSNR: Avg/BDRate
              Bipred only      Prev EXT_REFS    Current EXT_REFS with bipred
      lowres: -3.474/-3.324    -1.748/-1.586    -4.613/-4.387
      derflr: -2.097/-1.353    -1.439/-1.215    -3.120/-2.252
      midres: -2.129/-1.901    -1.345/-1.185    -2.898/-2.636
      
      If in vp10/encoder/firstpass.h, change BFG_INTERVAL from 2 to 3, i.e. to
      use 2 bi-predictive frames than 1, a further improvement may be
      obtained:
                       Current EXT_REFS with bipred
              1 bi-predictive frame    2 bi-predictive frames
      lowres: -4.613/-4.387            -4.675/-4.465
      derflr: -3.120/-2.252            -3.333/-2.516
      midres: -2.898/-2.636            -3.406/-3.095
      
      Change-Id: Ib06fe9ea0a5cfd7418a1d79b978ee9d80bf191cb
      5805a14c