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
      Change-Id: I90becd56278e4716bd46e2ba9d910af977e8dfa6
  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
  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
  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
  13. 15 Dec, 2016 6 commits
    • Jingning Han's avatar
      Add 2x4 and 4x2 variance functions · e2ffaf88
      Jingning Han authored
      Change-Id: Ic2fbc66e9212da32930c6a8ba1a749e3a37c5b9a
    • Debargha Mukherjee's avatar
      Misc cleanups and enhancements on loop restoration · 874d36d9
      Debargha Mukherjee authored
      Some cleanups/refactoring
      Better buffer management.
      Some preps for future chrominance restoration.
      Change-Id: Ia264b8989b5f4a53c0764ed3e8258ddc212723fc
    • Angie Chiang's avatar
      Shorter-tap interp first in highbitdepth mode · 9e963dc0
      Angie Chiang authored
      BDRate varies within +-0.04%
      Change-Id: I76f440c479d411c09ef39a19b46eb8dbc5330efb
    • 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
    • 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.
      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
    • 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
  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.
      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
  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
    • 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
  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
    • Jingning Han's avatar
      Enable 2x2 intra prediction · 7833d2bf
      Jingning Han authored
      Bring 2x2 intra prediction online for chroma components.
      Change-Id: Ia56af9101b2a977691bca4156a6dcf89e644b4a7
    • 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
  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
    • Alex Converse's avatar
      ans: Factor out refill_state · 5943d41e
      Alex Converse authored
      Change-Id: I648f4eb2954b2d138c2128bbf3f638eea31ec28f
  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.
      subset1: -.000%
      lowres: -.010%
      Change-Id: I8e66e4a6667f5692c541083e6d6edc35ff411181