1. 19 Oct, 2016 8 commits
    • Yaowu Xu's avatar
      Fix build issues when --enable-aom-qm · 0dd04637
      Yaowu Xu authored
      Change-Id: I1a462675c06c4b2a5f8b4b347f23fec67feccdd0
      0dd04637
    • Yaowu Xu's avatar
      Reorder includes · caf2023a
      Yaowu Xu authored
      Change-Id: I97487bf353471bf9d245cd620780adfb1d3fc2b1
      caf2023a
    • 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
    • Brennan Shacklett's avatar
      Temporary fix for 4X8 block intra prediction. · 7523a7ec
      Brennan Shacklett authored
      Currently the RD loop traverses 4X8 blocks in inverted N order while
      the bitstream stores blocks smaller than 8x8 in Z order. This causes a
      discrepancy where the RD loop reads uninitialized data while
      performing intra prediction.  As a temporary fix simply disable the
      use of the extended right edge for 4X8 blocks, until the bitstream can
      be changed to match the logical structure of the blocks.
      
      Change-Id: I44a9e4fc1a15cd551a7b38c3c1227bc5dac77e9a
      7523a7ec
    • Urvang Joshi's avatar
      Fix warnings reported by -Wshadow: Part2b: more from av1 directory · 368fbc95
      Urvang Joshi authored
      From code only part of nextgenv2 (and not aomedia)
      
      Change-Id: I21f7478a59d525dff23747efe5238ded16b743d2
      368fbc95
    • 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
    • Urvang Joshi's avatar
      Fix warnings reported by -Wshadow: Part1b: scan_order struct and variable · 03f6fdcf
      Urvang Joshi authored
      - Change struct name to all caps SCAN_ORDER to be locally consistent.
      - Rename struct pointers to 'scan_order' instead of hard to read short
        names 'so' and 'sc'.
      
      Cherry-picked from aomedia/master: 30abc082
      
      Change-Id: Ib9f0eefe28fa97d23d642b77d7dc8e5f8613177d
      03f6fdcf
    • Urvang Joshi's avatar
      Code cleanup: mainly rd_pick_partition and methods called from there. · 52648448
      Urvang Joshi authored
      - Const correctness
      - Refactoring
      - Make variables local when possible etc
      - Remove -Wcast-qual to allow explicitly casting away const.
      
      Cherry-picked from aomedia/master: c27fcccc
      And then a number of more const correctness changes to make sure other
      experiments build OK.
      
      Change-Id: I77c18d99d21218fbdc9b186d7ed3792dc401a0a0
      52648448
  2. 18 Oct, 2016 4 commits
  3. 17 Oct, 2016 4 commits
    • Nathan E. Egge's avatar
      Update partition_cdf per frame. · fba2be69
      Nathan E. Egge authored
      Move computing the partition_cdf tables per symbol to
       computing them only when the probabilities are updated.
      
      Change-Id: I442f9230ba00be7f5d0558d7c38d7324ad009ee8
      fba2be69
    • 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
  4. 14 Oct, 2016 7 commits
    • Nathan E. Egge's avatar
      Use Daala entropy coder to code bits. · 8043cc40
      Nathan E. Egge authored
      When building with --enable-daala_ec, calls to aom_write() and aom_read()
       use the daala entropy coder to write and read bits.
      When the probability is exactly 0.5 (128), then raw bits are used.
      
      ntt-short-1:
      
                MEDIUM (%) HIGH (%)
          PSNR -0.027556  -0.020114
       PSNRHVS -0.027401  -0.020169
          SSIM -0.027587  -0.020151
      FASTSSIM -0.027592  -0.020102
      
      subset1:
      
               RATE (%)  DSNR (dB)
          PSNR 0.03296  -0.00210
       PSNRHVS 0.03537  -0.00281
          SSIM 0.03299  -0.00161
      FASTSSIM 0.03458  -0.00111
      
      Change-Id: I48ad8eb40fc895d62d6e241ea8abc02820d573f7
      8043cc40
    • Yaowu Xu's avatar
      Clear existing format issue in the codebase · 931bc2a7
      Yaowu Xu authored
      Fix the clang-format warnings on the existing codes.
      
      Change-Id: I8e9e781b6f68f41a7fbd0a2116f6b35290d73dc8
      931bc2a7
    • Nathan E. Egge's avatar
      Add Daala entropy coder. · 1078dee5
      Nathan E. Egge authored
      Change-Id: I2849a50163268d58cc5d80aacfec1fd02299ca43
      1078dee5
    • Alex Converse's avatar
      Switch rANS to 15 bit precision, and adjust L_BASE. · 62a94a64
      Alex Converse authored
      This causes rANS to operate at the same precision as the Daala EC.
      
      aom/master stats: rans10uabs8lbase12 → rans15uabs8lbase15
      
      objective-1-fast
      PSNR YCbCr:      0.01%      0.01%      0.01%
         PSNRHVS:      0.01%
            SSIM:      0.01%
          MSSSIM:      0.01%
       CIEDE2000:      0.01%
      
      subset1
      PSNR YCbCr:     -0.01%     -0.00%     -0.00%
         PSNRHVS:     -0.01%
            SSIM:     -0.01%
          MSSSIM:     -0.01%
       CIEDE2000:     -0.01%
      
      (cherry picked from aom/master commit ddbc2e2a)
      
      Change-Id: I6ef0a4f6198784b3712a61af9f105d560a22eaea
      62a94a64
    • 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
    • Yaowu Xu's avatar
      Revert "Revert "Move CLPF block signals from frame to SB level."" · d71be781
      Yaowu Xu authored
      This reverts commit 9b25f306 to
      reinstate the reverted commit with fixes that solved the build issues
      when --enalbe-clpf is used in configure.
      
      Change-Id: I15447cae7fa9b3deb27976345dc3db230a4a7a60
      d71be781
    • Yaowu Xu's avatar
      Revert "Move CLPF block signals from frame to SB level." · 9b25f306
      Yaowu Xu authored
      This reverts commit 97535038.
      
      Change-Id: I9f8e891739352ca2bde4b294e37c85a668f416e0
      9b25f306
  5. 13 Oct, 2016 14 commits
  6. 12 Oct, 2016 3 commits
    • Debargha Mukherjee's avatar
      Fix a bug in inverse halfright 32x32 transform · e52816bf
      Debargha Mukherjee authored
      Fix a bug in the C implementation of the ihalfright32
      transform, in the case that its input and output buffers are the same.
      This occurs when it is called by av1_iht32x16_512_add_c.
      
      Change-Id: I61c652e2662178520c0639a2879ae128a9c7ec3f
      e52816bf
    • 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
    • Alex Converse's avatar
      Remove ZERO_TOKEN from the ANS tokenset · ea7e990f
      Alex Converse authored
      This can be re-added after aligning AOM's ANS with nextgenv2's ANS.
      
      This partially reverts commit 3829cd2f.
      
      Change-Id: I78afc587f1abfe33ffcd53b3262910cfae135534
      ea7e990f