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
      8a7786d2
  4. 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
  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.
      
      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
  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
      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
  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
      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
  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
      7a483cff
    • Alex Converse's avatar
      ans: Factor out refill_state · 5943d41e
      Alex Converse authored
      Change-Id: I648f4eb2954b2d138c2128bbf3f638eea31ec28f
      5943d41e
  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.
      
      BDRATE
      subset1: -.000%
      lowres: -.010%
      
      Change-Id: I8e66e4a6667f5692c541083e6d6edc35ff411181
      fa9c9d1c
    • 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
      9e218747
    • 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
      array.
      
      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
      6be4a54b
  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
      84c56af0
    • 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
      BUG=webm:1340
      
      Change-Id: I48365c1e50a03a7b1aa69b8856b732b483299fb5
      63bd6dc9
  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
      fa2865b5
    • 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
      4d34154b
    • 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
      133c57c3
      
      which broke threaded encoding tests, which relied on re-using
      byte buffers.
      
      Change-Id: I682c5e3a7869eac7ad475584db8bf170d47a56c9
      faa7fcfe
  19. 12 Nov, 2016 2 commits
  20. 10 Nov, 2016 1 commit