1. 20 Dec, 2016 2 commits
  2. 17 Dec, 2016 1 commit
  3. 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
  4. 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
  5. 14 Dec, 2016 2 commits
  6. 13 Dec, 2016 1 commit
  7. 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
  8. 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
  9. 07 Dec, 2016 2 commits
  10. 03 Dec, 2016 2 commits
  11. 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
  12. 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
  13. 29 Nov, 2016 1 commit
  14. 28 Nov, 2016 3 commits
    • 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
    • Yi Luo's avatar
      SAD avg and 4D avx2 optimization for ext-partition · 9e218747
      Yi Luo authored
      - User level time reduction <1% on i7-6700 cpu
      Change-Id: I8f15bde07dddd938df0b065e20ae94109e7b3b5b
    • Urvang Joshi's avatar
      Add a new intra prediction mode "smooth". · 6be4a54b
      Urvang Joshi authored
      This is added as part of ALT_INTRA experiment.
      This uses interpolation between top row and estimated bottom row; as
      well as left column and estimated right column to generate the
      predicted block.The interpolation is done using a predefined weight
      Based on experiments, the currently chosen weight array was created
      to represent a quadratic curve, but can be tuned further if needed.
      Improvement from baseline on Derf set:
      ALL Keyframes: 1.279%
      Improvement from existing ALT_INTRA:
      ALL Keyframes: 1.146%
      Change-Id: I12637fa1b91bd836f1c59b27d6caee2004acbdd4
  15. 23 Nov, 2016 1 commit
  16. 21 Nov, 2016 2 commits
    • Debargha Mukherjee's avatar
      Support 64x64 intra prediction · 84c56af0
      Debargha Mukherjee authored
      Change-Id: I2536b5b55f28c2ee59445c3b70d3e073e69945cd
    • Yi Luo's avatar
      Fix rectangle transform computation overflow · 63bd6dc9
      Yi Luo authored
      - Add 16-bit saturation in fdct_round_shift().
      - Add extreme value tests and round trip error tests.
      - Fix inv 4x8 txfm calculation accuracy.
      - Fix 4x8, 8x4, 8x16, 16x8, 16x32, 32x16 extreme value tests.
      - BDRate: lowres: -0.034
                midres: -0.036
                hdres:  -0.013
      Change-Id: I48365c1e50a03a7b1aa69b8856b732b483299fb5
  17. 17 Nov, 2016 2 commits
  18. 16 Nov, 2016 3 commits
    • David Barker's avatar
      Implement bitstream debug for daala_ec · fa2865b5
      David Barker authored
      Change-Id: I809eb52e8a632189c49b8ea0a2b5de760cc2a34c
    • Yaowu Xu's avatar
      Fix IOC warnings · 4d34154b
      Yaowu Xu authored
      av1_txfm.h: left shift of a negative number
      av1/encoder/quantize.c: unsigned int overflow
      aom_dsp/entenc.c: unsigned int overflow
      Change-Id: I6143e68f7d6e2621f97900808c8ef7ee0ad0c814
    • Thomas Davies's avatar
      Add overwrite functions which do not zero bytes. · faa7fcfe
      Thomas Davies authored
      In several places bits are overwritten in the bitstream. These
      functions avoid zeroing bytes during writing so that this can
      happen correctly when the number of bits is not 8*N.
      Re-addresses the attempted fix in
      which broke threaded encoding tests, which relied on re-using
      byte buffers.
      Change-Id: I682c5e3a7869eac7ad475584db8bf170d47a56c9
  19. 12 Nov, 2016 2 commits
  20. 10 Nov, 2016 1 commit