1. 15 Dec, 2016 8 commits
    • Jingning Han's avatar
      Change table definitions to support 4x4 coding block · b2f0c338
      Jingning Han authored
      Change-Id: I93493abe3c412fc10f5bb5a2eb157c8db277f4e0
    • Jingning Han's avatar
      Remove the use case of bmi->as_mode · d7d20477
      Jingning Han authored
      Remove the use case of bmi->as_mode in cb4x4 mode. Its function is
      covered by 4x4 level mode_info.
      Change-Id: I04abc1b7a0a97c12c3b6fddc1f16f7045512772e
    • Jingning Han's avatar
      Streamline reference motion vector search for all block sizes · 8570b35d
      Jingning Han authored
      Take out the functions set for sub8x8 block sizes.
      Change-Id: I15836df44051f2c8679c317d52eab9ef55fb5b17
    • Jingning Han's avatar
      Simplify motion compensated predictor logic · b46540ca
      Jingning Han authored
      No need of special handle on sub8x8 block sizes.
      Change-Id: I8487cd68eda0882fe50550af3998dc941ec13b21
    • Yaowu Xu's avatar
      Move large buffers from stack to heap · bf1d62dd
      Yaowu Xu authored
      This commit moves a number of large buffers from stack to heap to fix
      crashes due to stack overflow.
      Change-Id: I9d1592e4f6dbfa18a475d0fc5674f6d3632f39ed
    • 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
  2. 14 Dec, 2016 18 commits
    • Yushin Cho's avatar
      Enable the activity masking codes of PVQ · 70669125
      Yushin Cho authored
      Turned off, by default.
      TODO: The distortion function of Daala should be added
      to complete the activity masking working.
      Note that PVQ QM matrix (i.e. scaler for each band of
      transform block) is calculated in decoder side as exactly same
      way in encoder. In Daala, this matrix is written to bitstream
      and decoder does not generate it.
      Activity masking can be turned on by setting below flag as 1:
      Change-Id: I44bfb905cb4e0cad6aa830a4c355cd760a993ffe
    • Jingning Han's avatar
      Support 4x4 block unit decoding · 41bb3396
      Jingning Han authored
      Unify the block decoding process for all coding block sizes.
      Change-Id: I7bfb482e9b5266f144e280b3ed713927a5ddc572
    • Jingning Han's avatar
      Make motion vector decoding support unified block size handle · 5cfa6718
      Jingning Han authored
      Streamline the motion vector and transform block size decoding
      process for all coding block sizes.
      Change-Id: I86d5686c4cb0e6ff2dd5f5e82d390fe3de25c240
    • Jingning Han's avatar
      Unify rd_cost threshold for all block sizes · 9104bedb
      Jingning Han authored
      Use same process for both sub8x8 and regular block sizes.
      Change-Id: I8fab4c738604c8e7780b0ec5299abcb403fbc0b7
    • Yaowu Xu's avatar
      Align temp buffer to 16 byte boundary · c1c502b8
      Yaowu Xu authored
      The optimized instrinsics require the buffer to be aligned on 16 byte
      boundaries. The commit fixes segfaults caused by unaligned access.
      Change-Id: I07fc242e43070bb8829871c50da52f50e60246a9
    • hui su's avatar
      Refactor ext-intra · 45dc597a
      hui su authored
      Miscellaneous changes. Mostly code simplification and cleanup.
      Make luma max angle delta depend on block size, which is the
      way it was before the nextgenv2 branch merge.
      Also some fixes for compatibility of ext-intra and alt-intra.
      Change-Id: I2ce869e6ba7dee765a8dc4802f5e88040db3df22
    • Yaowu Xu's avatar
      Prevent null pointer de-referencing · f0602bba
      Yaowu Xu authored
      Change-Id: If56a76cee9a5f9ad985019e7059e422445bdab51
    • David Barker's avatar
      Change Wiener filter in loop-restoration · 025b2545
      David Barker authored
      The Wiener filter now uses the same convolution code as the
      inter predictors.
      Change-Id: Ia3bfbc778171eb25c6a0141426d1f69d92c17992
    • David Barker's avatar
      Remove feedback between tiles in loop-restoration · 9666e756
      David Barker authored
      This is intended to simplify hardware and multithreaded
      Change-Id: I6aa95b67c03b794a0f3d5cf2f65c576d05f2ca7d
    • Debargha Mukherjee's avatar
      Adding 4:1 rectangular transforms · 751de386
      Debargha Mukherjee authored
      Change-Id: Ic4775ed7e9470230deda2d8f656d94e3f81df99a
    • Alex Converse's avatar
      Unfork some ANS setup code · 5b5140b0
      Alex Converse authored
      Change-Id: I85e1b3cc4174029b6d1bfa4109b37793537071c2
    • Alex Converse's avatar
      Unconditionally define controls for experimental features · 85370ae6
      Alex Converse authored
      aomcx.h is an installed header and aom_config.h is not. aomcx.h cannot
      depend on aom_config.h.
      Change-Id: I9a57b88ea27c8c432b3b149b601e30fb6a2a9865
    • Jingning Han's avatar
      Make entropy context scalable to atom transform block size · aa8a4a59
      Jingning Han authored
      This commit makes the entropy context operation scalable to the
      atom transform block size. No coding statistics change is incurred.
      Change-Id: Id10161116d297a2e65815e115993b79542e5a031
    • Debargha Mukherjee's avatar
      Change scaling of rectangular fwd transforms · f0aa420c
      Debargha Mukherjee authored
      Modifies the C fwd txfms to have correct scaling. Rectangular
      transforms now are always implemented in a way that the samller
      side is transformed first.
      The SSE2 tests are temporarily disabled until the SSSE2 code
      is modified to be consistent with the C code.
      Also includes a fdct32 fix.
      borgtest results show a slight improvement.
      Change-Id: I9417fd0b833d79e0ab13c85d3210d9ea8f2029a4
    • Debargha Mukherjee's avatar
      Disable filtering for Cb and Cr components · 818e42a7
      Debargha Mukherjee authored
      The parameters are optimized only on Y, so disable chrominance
      filtering for now. Later we can extend the syntax to have
      separate parameters for the chrominance, or optimize the
      parameters jointly over luminance and chrominance components.
      lowres: -0.676% (from -0.759%) becomes a little worse
      midres: -1.837% (from -1.520%) substantial improvement
      hdres: pending
      Change-Id: I98d71f48de98394b05fd9036de259cb43d007614
    • Yunqing Wang's avatar
      Modify test.mk · 840b2be4
      Yunqing Wang authored
      1. The ethread test can only be ran when both the encoder and decoder are
      available. This is also true for ext_tile test.
      2. Modify the ethread speed test range to speed 0 to 3 for AV1.
      Change-Id: I3c3e96fb33a7b825503b228fe43e8089e1265dd2
    • Jingning Han's avatar
      Refactor first pass to support scalable mode_info size · fb9529e1
      Jingning Han authored
      Replace hard coded assumptions of mode_info size with table fetch.
      The codebase coding statistics remain identical. This prepares to
      introduce 4x4 mode_info array.
      Change-Id: I5d75b86b7e7aa5bc7104c5f6f0b326d6ad0f67bb
    • Jingning Han's avatar
      Make motion vector search range scalable to mode info size · 24ea91d1
      Jingning Han authored
      Replace hard coded numbers with mi_size table access.
      Change-Id: Ia5b8802de9f0128edf2c71542c703f317c7f61da
  3. 13 Dec, 2016 9 commits
    • Alex Converse's avatar
      Remove obsolete control AOME_SET_ARNR_TYPE and command line flag · fab62243
      Alex Converse authored
      The control is deprecated and is a noop.
      Change-Id: I66f248485a906c26205a1b26e61e15d976207fd8
    • Yaowu Xu's avatar
      Disable daala_ec when ext_tile is enabled. · ca4782bb
      Yaowu Xu authored
      Experiment ext_tile is not compatible with daala_ec yet, this commit
      disables daala_ec and enable ans if ext_tile is enabled.
      A follow-up commit should resolve the underline conflicts within
      ext-tile experiment.
      Change-Id: If60cb170e908a844dc8d22efce82f2a2c01b391b
    • Alex Converse's avatar
      Remove "Supported codecs:" lines from aomcx.h · c7f80707
      Alex Converse authored
      There is currently only one codec supported by this library.
      Change-Id: Ic83f09b8ca783fcdf0117d338858f3fcee55e038
    • Alex Converse's avatar
      docs: Fix a defgroup mismatch · c77b2ff1
      Alex Converse authored
      Change-Id: I724c87ade420bb475ccaecb933ec47513f37d482
    • Jingning Han's avatar
      Refactor loop filter implementation · 01c472df
      Jingning Han authored
      Make the loop filter operation to support scalable mode_info size.
      Change-Id: Iad30b1b6176f29c840ec38ef777a6e2533ced04f
    • Steinar Midtskogen's avatar
      Remove aom_simd.c and replace simd_check with macro · ea42c4e9
      Steinar Midtskogen authored
      Change-Id: If2bb7ab2b16ba44e2d6e43eeb8713aa6c05d9d7c
    • Yaowu Xu's avatar
      Fix incompatibility between two experiments · a2cb61b2
      Yaowu Xu authored
      ext_tile is not compatible with reference_buffer, this commit changes
      to disable refrence_buffer when ext_tile is enabled.
      Change-Id: I6416f4c731bec1c4cfeab3cdb539f359627ed2e2
    • Yunqing Wang's avatar
      Not to call reset_use_upsampled_references() while encoding key frames · fe1e58ec
      Yunqing Wang authored
      A crash was reported while encoding >1080p file using best mode.
      (aom issue 107 and issue 108). The cause was that the speed features
      were initialized using good mode in AV1. The patch(commit f330ca)
      disabled the upsampled reference usage only for good mode, but not for
      best mode. So, for 1st key frame, the encoder incorrectly called
      reset_use_upsampled_references() that caused the segfault.
      The patch(commit e4e93b) disabled the upsampled reference usage for all
      encoding modes and resolved the issue. This patch fixed issue 108 and
      further made sure the upsampled references would be used correctly.
      Change-Id: I8362cc7cd82be324fd77f0bec315aeba509903bd
    • James Zern's avatar
      aomdec: remove use of fileno() · b9b28381
      James Zern authored
      this requires _POSIX_C_SOURCE >= 1 for glibc, but its only use was with
      stdout; use the file number directly
      Change-Id: Iebfc339c894abbf77b08c7744a4f66b34948b33f
  4. 12 Dec, 2016 5 commits
    • Alex Converse's avatar
      Remove vestigial VP8 encoder controls · 0f4bcda7
      Alex Converse authored
      Leave gaps for ABI compatibility for the time being.
      Change-Id: I8b3fd7ce667af019b81a830aeadc28781190a657
    • Yaowu Xu's avatar
      Revert changes that breaks build · 1f80f78d
      Yaowu Xu authored
      Change-Id: Ic836798f6e582ee82964fa36ac778eef0c301eb3
    • 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
    • Debargha Mukherjee's avatar
      Adds two experimental tags · b878d817
      Debargha Mukherjee authored
      entropy_stats: to generate stats of various symbols encoded
      masked_tx: new experiemnt for coding a smaller transform in a
                 prediction block
      Change-Id: I48baf0f1c37245c43031a9eda879ef49eee5e76b
    • Debargha Mukherjee's avatar
      Replace bilateral filter with domain transform RF · 0e67b25c
      Debargha Mukherjee authored
      The main objective is to reduce computational complexity.
      The domain transform filter has an effect of edge preserving smoothing
      at a lower computational cost than the bilateral filter, and can be
      readily paralelized.
      A little drop in coding efficiency about 0.06% for lowres, 0.16% for
      Change-Id: Id949406b7e5afe9b64588d130065c63a76e4f3f9