1. 24 Jan, 2017 1 commit
  2. 21 Jan, 2017 1 commit
    • James Zern's avatar
      aom_subpixel_8t_intrin_avx2: tolerate unversioned clang · 9303b941
      James Zern authored
      assume __clang_major__==0 has the latest version of
      _mm256_broadcastsi128_si256. fixes builds with custom clang toolchains.
      
      cherry-picked from libvpx:
      33aef48f2 vpx_subpixel_8t_intrin_avx2: tolerate unversioned clang
      
      BUG=b/30970831
      
      Change-Id: I90becd56278e4716bd46e2ba9d910af977e8dfa6
      9303b941
  3. 19 Jan, 2017 1 commit
  4. 13 Jan, 2017 1 commit
  5. 11 Jan, 2017 1 commit
  6. 09 Jan, 2017 4 commits
  7. 07 Jan, 2017 2 commits
  8. 05 Jan, 2017 1 commit
    • Nathan E. Egge's avatar
      Add API for coding symbols with unscaled CDFs. · c98d2863
      Nathan E. Egge authored
      Add aom_write_symbol_unscaled() and aom_read_symbol_unscaled() calls
       for encoding and decoding symbols with non-dyadic CDFs, e.g. that
       don't add up to 32768.
      This currently only works with the DAALA_EC backend, but does support
       AOM bit accounting.
      
      Change-Id: Icb37500f1b051dd2e8893ff0920302ece1d6ccfd
      c98d2863
  9. 03 Jan, 2017 1 commit
    • David Barker's avatar
      Add new convolve variant for loop-restoration · be6cc07d
      David Barker authored
      The convolve filters generated by loop_wiener_filter_tile
      are not compatible with some existing convolve implementations
      (they can have coefficients >128, sums of (certain subsets of)
      coefficients >128, etc.)
      
      So we implement a new variant, which takes a filter with 128
      subtracted from its central element and which adds an extra copy
      of the source just before clipping to a pixel (reinstating the
      128 we subtracted). This should be easy to adapt from the existing
      convolve functions, and this patch includes SSE2 highbd and
      SSSE3 lowbd implementations.
      
      Change-Id: I0abf4c2915f0665c49d88fe450dbc77b783f69e1
      be6cc07d
  10. 20 Dec, 2016 2 commits
  11. 17 Dec, 2016 1 commit
  12. 16 Dec, 2016 1 commit
    • Jingning Han's avatar
      Fix 2x2 d45 intra prediction · 8a7786d2
      Jingning Han authored
      This commit fixes the 2x2 d45 intra prediction. It avoids the use
      of out-of-boundary position as reference. This resolves an enc/dec
      mismatch issue in cb4x4 mode.
      
      Change-Id: I93d01536a0c004190cc9fe3c724bf41364f6fdde
      8a7786d2
  13. 15 Dec, 2016 6 commits
    • Jingning Han's avatar
      Add 2x4 and 4x2 variance functions · e2ffaf88
      Jingning Han authored
      Change-Id: Ic2fbc66e9212da32930c6a8ba1a749e3a37c5b9a
      e2ffaf88
    • Debargha Mukherjee's avatar
      Misc cleanups and enhancements on loop restoration · 874d36d9
      Debargha Mukherjee authored
      Includes:
      Some cleanups/refactoring
      Better buffer management.
      Some preps for future chrominance restoration.
      
      Change-Id: Ia264b8989b5f4a53c0764ed3e8258ddc212723fc
      874d36d9
    • Angie Chiang's avatar
      Shorter-tap interp first in highbitdepth mode · 9e963dc0
      Angie Chiang authored
      BDRate varies within +-0.04%
      
      Change-Id: I76f440c479d411c09ef39a19b46eb8dbc5330efb
      9e963dc0
    • Nathan E. Egge's avatar
      Fix aom_write_bit() to match aom_read_bit(). · 67b9921b
      Nathan E. Egge authored
      The aom_write_bit() was not calling buf_uabs_write_bit() while the
       aom_read_bit() function was calling uabs_read_bit().
      
      Change-Id: If98975341472988e8d809aa80a647d7a2531e21e
      67b9921b
    • Nathan E. Egge's avatar
      Explicitly call daala read/write bit functions. · 08c99eb3
      Nathan E. Egge authored
      Calling aom_write_bit() and aom_read_bit() with --enable-daala_ec
       would call aom_write() and aom_read() with probability 128 which
       would ultimately call od_ec_enc_bits() and od_ec_dec_bits().
      This refactors that code and makes the call explicit.
      
      objective-1-fast:
      master@2016-12-14T18:38:33Z -> daala_ec_bits@2016-12-14T18:36:22Z
      
          PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
        0.0000 |  0.0000 |  0.0000 |   0.0000 | 0.0000 |  0.0000 |     0.0000
      
      Change-Id: Ib69e98734fadcdc8b89936b7b6fbd0574afc7e34
      08c99eb3
    • Nathan E. Egge's avatar
      Compute token_stats in aom_write_bit_record() function. · 90b305a9
      Nathan E. Egge authored
      The RD_DEBUG experiment computes stats in the _record() functions which
       then proxy calls through to the actual bit writer.
      The aom_write_bit_record() should proxy calls through to aom_write_bit()
       instead of aom_write() with probability 128.
      
      Change-Id: I7617fad0f2c25dc05cf111c660a90068c3f4c513
      90b305a9
  14. 14 Dec, 2016 2 commits
  15. 13 Dec, 2016 1 commit
  16. 12 Dec, 2016 1 commit
    • Alex Converse's avatar
      ans: Use a fixed N-symbol window · b0be6411
      Alex Converse authored
      Accept a small compression loss is in exchange for a fixed sized encoder
      side buffering requirement.
      
      subset1:
      rans_base@2016-12-02T22:55:56.809Z -> rans_nsym@2016-12-02T22:58:19.859Z
      
          PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
        0.0304 |  0.0303 |  0.0305 |   0.0317 | 0.0312 |  0.0309 |     0.0301
      
      Change-Id: I09dd143e4f1638b97dc9bba7023efa837a7d48c7
      b0be6411
  17. 09 Dec, 2016 2 commits
    • Yi Luo's avatar
      High bit depth motion search SAD optimization on avx2 · e9832584
      Yi Luo authored
      - For all blocks with width >= 16.
      - Add test_count to make the unit tests harder to pass.
      - Speed testing on 1080p, 100 frames, 5 Mbps, CPU, i7-6700
        User level time reduction:
         baseline:                  3.68%
         baseline + ext-partition: 36.12%
      
      Change-Id: I78c5d9ca216f0fd91f1a360dca2190b11fd54a08
      e9832584
    • Angie Chiang's avatar
      Remove saturate_int16 from fdct_round_shift · 48c06da2
      Angie Chiang authored
      1) Not every transform's internal signal is designed to fit in 16 bits.
      2) If overflow happens in this function, it indicates that we need to
      adjust the txfm's scaling. We shouldn't mute the overflow signal.
      3) Saturation might be handy when all of our transform design are stable,
      but I don't think we are at the stable point yet.
      4) This will fix C/Trans16x16DCT.AccuracyCheck/1 failure in highbd mode.
      
      Change-Id: I5ef5d130c22adb4b8c3b608ffcb0f2c99dc7523f
      48c06da2
  18. 07 Dec, 2016 2 commits
  19. 03 Dec, 2016 2 commits
  20. 02 Dec, 2016 3 commits
    • Alex Converse's avatar
      ans: Give buf_ans ownership of the AnsCoder · 2a1b3af3
      Alex Converse authored
      Change-Id: I509bbba0d84c1d378044e2c612dd48cd8f99848d
      2a1b3af3
    • Jingning Han's avatar
      Enable 2x2 intra prediction · 7833d2bf
      Jingning Han authored
      Bring 2x2 intra prediction online for chroma components.
      
      Change-Id: Ia56af9101b2a977691bca4156a6dcf89e644b4a7
      7833d2bf
    • Alex Converse's avatar
      ans: Refill state at the end of the decoding process. · 52a4b11d
      Alex Converse authored
      This should have no effect on the bitstream format (see also no related
      encoder change). This is like moving code from the top of the loop to
      the bottom of the loop.
      
      This change allows us to:
      * Make sure we consume the final renormalization byte after the last
      symbol in an ANS partition.
      * Move back toward a single renormalization operation for some ANS modes
      since we know the bounds of the state mutation algorithm that got us out
      of the valid state range.
      
      Change-Id: Ia80246fd0ed805aa61b913a362546b3f08e4d79c
      52a4b11d
  21. 01 Dec, 2016 2 commits
    • Angie Chiang's avatar
      Turn on SIMD optimization for dual_filter · 7a483cff
      Angie Chiang authored
      Let aom_convolve8_### SIMD implementation support any block width.
      Turn on SIMD optimization when interpolation filter types on two
      directions are different.
      
      This will reduce 30% of encoding time when dual_filter and ext_interp
      both on.
      
      Change-Id: I539dbb2737f01835034b7269656a15b2058fa3cc
      7a483cff
    • Alex Converse's avatar
      ans: Factor out refill_state · 5943d41e
      Alex Converse authored
      Change-Id: I648f4eb2954b2d138c2128bbf3f638eea31ec28f
      5943d41e
  22. 29 Nov, 2016 1 commit
  23. 28 Nov, 2016 1 commit
    • Alex Converse's avatar
      Adjust how the final ANS state is written. · fa9c9d1c
      Alex Converse authored
      The new prefixes are
      0: 15 bits of state are added to the base state.
      10: 22 bits of state are added to the base state.
      110: Reserved for super frame marker
      111: 29 bits of state are added to the base state.
      
      The likelihood of any final state is proportional to 1 / state. Given a
      state range of [2**15, 2 **23) this should save on average 0.4 bits
      per serialized final state.
      
      BDRATE
      subset1: -.000%
      lowres: -.010%
      
      Change-Id: I8e66e4a6667f5692c541083e6d6edc35ff411181
      fa9c9d1c