1. 10 May, 2017 1 commit
    • Urvang Joshi's avatar
      smooth_pred: 1D weights array to use less memory. · f695d659
      Urvang Joshi authored
      As the block sizes are powers of two, we can index into the weights
      array as sm_weights_array[bs] now.
      
      This uses 2 * MAX_BLOCK_DIM memory, instead of NUM_BLOCK_DIMS *
      MAX_BLOCK_DIM earlier.
      
      Change-Id: I55bcedc188b8ed7def719c4d002c1fe2ec5e1b7f
      f695d659
  2. 09 May, 2017 2 commits
  3. 08 May, 2017 2 commits
    • Yi Luo's avatar
      Partial IDCT 16x16 avx2 · f6176abb
      Yi Luo authored
      - Function level improvement:
      functions      sse2  avx2  percentage
      idct16x16_256  365   226   38%
      idct16x16_38   n/a   136   n/a
      idct16x16_10   171   110   35%
      idct16x16_1     34    26   23%
      
      - Integrated in AV1 for default scan order.
      
      Change-Id: Ieb1a8e730bea9c371ebc0e5f4a748640d8f5e921
      f6176abb
    • Urvang Joshi's avatar
      Add a new experiment SMOOTH_HV. · e6ca8e83
      Urvang Joshi authored
      This experiment extends ALT_INTRA by adding two new modes:
      smooth horizontal and smooth vertical.
      
      Improvement on *intra frames* in BDRate (PSNR):
      ===============================================
      
      AWCY (high latency): -0.46%
      (Also, -1.0% or more on PSNR Cb,Cr and APSNR Cb,Cr).
      
      AWCY (low latency): -0.43%
      (Also, -0.88% to -0.94% on PSNR Cb,Cr and APSNR Cb,Cr).
      
      Google sets:
      lowres: -0.454
      midres: -0.484
      hdres:  -0.525
      
      Improvement on *video overall* in BDRate (PSNR):
      ================================================
      
      AWCY (high latency): -0.15%
      
      Google sets:
      lowres: -0.085
      midres: -0.079
      
      Change-Id: I9f4e7c1b8ded1fe244c72838f336103ccc715d50
      e6ca8e83
  4. 06 May, 2017 1 commit
  5. 05 May, 2017 2 commits
  6. 04 May, 2017 2 commits
  7. 02 May, 2017 1 commit
  8. 28 Apr, 2017 3 commits
    • James Zern's avatar
      Resolve -Wshorten-64-to-32 in highbd obmc/ext-inter variance. · b7e7c044
      James Zern authored
      For 8-bit the subtrahend is small enough to fit into uint32_t.
      Prevent negative variance in 10/12-bit.
      Previously:
      51e0c54e Resolve -Wshorten-64-to-32 in highbd variance.
      
      BUG=aomedia:445
      
      Change-Id: Ibb9bfc5e926de354bbab80127012e5e1861348a3
      b7e7c044
    • Tom Finegan's avatar
      Silence warning in CMake mips64 build. · 34939825
      Tom Finegan authored
      Removed source file (aom_dsp/mips/add_noise_msa.c) from aom_dsp.cmake
      to match the configure build.
      
      Change-Id: I7f966afda209cff8949441bf30d757c19bcf65e7
      34939825
    • James Zern's avatar
      Resolve -Wshorten-64-to-32 in highbd variance. · 51e0c54e
      James Zern authored
      For 8-bit the subtrahend is small enough to fit into uint32_t.
      
      cherry-picked from libvpx:
      47b9a0912 Resolve -Wshorten-64-to-32 in highbd variance.
      
      This is the same that was done for:
      c0241664a Resolve -Wshorten-64-to-32 in variance.
      
      For 10/12-bit apply:
      63a37d16f Prevent negative variance
      
      BUG=aomedia:445
      
      Change-Id: Iab35e3f3f269035e17c711bd6cc01272c3137e1d
      51e0c54e
  9. 27 Apr, 2017 5 commits
    • Yue Chen's avatar
      Clear test failures and compiler warnings of MOTION_VAR · dead17d2
      Yue Chen authored
      (1) Properly set params to default values to clear a unit test
      failure when seg feature and motion_var are both on.
      (2) Silenced compiling warnings in obmc variance functions.
      
      Change-Id: Iaf4ee47c9941a228638d6046bcd1206f4a4f566a
      dead17d2
    • Jingning Han's avatar
      Fix quantize_b_c function · d18c84cb
      Jingning Han authored
      Correctly compute the quantized coefficient index. This resolves
      an enc/dec mismatch issue when the c function is in use.
      
      Change-Id: I670b5a18310fa68c994f43b6a8bc9b0d8ff907ae
      d18c84cb
    • Frederic Barbier's avatar
      Cleanup dead high-bitdepth inverse-tx functions · 4fc8df67
      Frederic Barbier authored
      This patch removes dead code and prevents future implementations
      to rely on obsolete transforms. Future optimizations and tests should
      be based on latest C-functions (av1/common/av1_inv_txfm1d.c)
      
      Cleanup related last unit-test callers.
      BUG=aomedia:442
      
      Change-Id: I24953cc1baf30dd7b720df8a72dd91b356b74cad
      4fc8df67
    • Tom Finegan's avatar
      Fix CMake build. · 963cacb9
      Tom Finegan authored
      Needed sync since 3fcb356e
      added/deleted files.
      
      Change-Id: I6b53b992eb7c9e30e91061f711672b15c4ca8c4b
      963cacb9
    • Cheng Chen's avatar
      Fix bugs of aom_quantize_b when AOM_QM turned on · ce8275ce
      Cheng Chen authored
      Fix bugs introduced in refactoring aom_quantize_b
      
      Change-Id: Icfee3ae14fc920d3aaefce6232223e828cc50475
      ce8275ce
  10. 26 Apr, 2017 2 commits
    • Yi Luo's avatar
      Update partial inverse DCT according to VP9 · 3fcb356e
      Yi Luo authored
      - Partial inverse DCT unit tests have been enhanced.
      - IDCT x86_64 assembly code has been removed.
      
      Change-Id: Ic3bed2c0e70abdfd642a4f74fa969cc672d4795f
      3fcb356e
    • Cheng Chen's avatar
      Refactor aom_quantize_b · 9b180373
      Cheng Chen authored
      Use one helper function to remove copy paste of
      aom_quantize_b_c, aom_quantize_b_32x32_c, aom_quantize_b_64x64_c.
      And remove redundant av1_quantize_b_c, av1_highbd_quantize_b_c.
      
      BUG=aomedia:442
      
      Change-Id: I3e7923a64a16af223c3e2a42dc27c0f28a9b134b
      9b180373
  11. 25 Apr, 2017 5 commits
    • James Zern's avatar
      remove remaining refs to aom_highbd_idct8x8_64_add · 4a2e3b2d
      James Zern authored
      fixes high-bitdepth build:
      ./libaom.a(aom_dsp_rtcd.c.o): In function `setup_rtcd_internal':
        ./aom_dsp_rtcd.h:2614: undefined reference to
        `aom_highbd_idct8x8_64_add_c'
      
      missed in:
      c756e4d0 Cleanup dead high-bitdepth inverse-tx functions
      
      BUG=aomedia:442
      
      Change-Id: I63ee6fc5dbf85fd48efd9ff721868df6fb05eb09
      4a2e3b2d
    • Frederic Barbier's avatar
      Cleanup dead high-bitdepth inverse-tx functions · c756e4d0
      Frederic Barbier authored
      Cleanup related last unit-test callers.
      
      BUG=aomedia:442
      
      Change-Id: I9fa8a19c140bf0ef6c1690456fc9d1a54ad6b091
      c756e4d0
    • Yaowu Xu's avatar
      Cleanup: remove const · 032573dd
      Yaowu Xu authored
      Similar to previous commit, this cleanup removes more "const"s for
      parameters passed by value
      
      BUG=aomedia:448
      
      Change-Id: I092bcbeecab75f0c14c3ee60d34dcf6f69034fe4
      032573dd
    • Urvang Joshi's avatar
      Intra prediction: Remove unused variants. · c3bcf3be
      Urvang Joshi authored
      Directional predictors for 45, 63 and 207 angle had 2 or 3 variants
      each, and only one of them was actually being used. So, removed the
      C, sse2, ssse3 and neon versions of the unused ones.
      
      Updates to the test:
      - test_intra_pred_speed was testing the unused versions, so changed
        it to use the version actually used by code. This meant updating
        some golden MD5 values.
      - test_intra_pred_speed was NOT filling up bottom-left and top-right
        pixels randomly, so the predictors using these pixels weren't tested
        properly. This was fixed.
      
      BUG=aomedia:442
      
      Change-Id: I09725d593408b81e0cd636e70a88c28eea5f2222
      c3bcf3be
    • Jingning Han's avatar
      Fix gcc warning on int type conversion in ext-inter · b3494d6c
      Jingning Han authored
      BUG=aomedia:458
      
      Change-Id: I57482c3cb8462c95a2aeb0efa0c8a259c73f3811
      b3494d6c
  12. 24 Apr, 2017 1 commit
  13. 22 Apr, 2017 2 commits
  14. 21 Apr, 2017 2 commits
  15. 20 Apr, 2017 2 commits
    • Urvang Joshi's avatar
      Common Identity 16x8 transform: forward and reverse. · bd343f43
      Urvang Joshi authored
      The code for forward and reverse transform was exactly same, so moved to
      a common header.
      
      BUG=aomedia:442
      
      Change-Id: Ic0d82b6213127c757c81e7a84045a30e28036161
      bd343f43
    • Sebastien Alaiwan's avatar
      Drop support for CONFIG_EMULATE_HARDWARE · c6a48a25
      Sebastien Alaiwan authored
      This experiment complexifies DSP function dispatch, without bringing
      any real value (it's non-normative arbitrary behaviour).
      Moreover, it only has an effect on obsolete transforms, the new ones
      don't implement this mechanism.
      
      Change-Id: Idaccdd0c14ed6b7008cd4f365c7f017ba8ccacf5
      c6a48a25
  16. 18 Apr, 2017 2 commits
    • Timothy B. Terriberry's avatar
      ec_smallmul: Convert CDFs to iCDFs. · f6c807c5
      Timothy B. Terriberry authored
      Hoists the iCDF conversion outside of the daala code.
      We directly store 32768 - cdf[i] in each cdf, to avoid having to
      convert the whole array every time a symbol is coded.
      
      This works with ec_multisymbol, new_tokenset, and ec_adapt.
      
      Compared to Change-Id Idbbd3743e9189146cb519d5b984bdabd69e3f4c0,
      this improves decoder runtimes by 1.15% at QP=55 and 2.64% at
      QP=20.
      
      The overall slowdown of ec_smallmul is now 0.12% at QP=55 and
      0.44% at QP=20.
      
      Encoder output should not change, and all streams should remain
      decodable without decoder changes.
      
      Change-Id: I06b8b75b667bb1bc4ddffc78f895e48a09f4c578
      f6c807c5
    • Yi Luo's avatar
      Move width branch out of height loop · a4d87992
      Yi Luo authored
      - AVX2 Copy and average functions are faster,
        Copy function: ~4%-57%
        Avg function:  ~17%-54%
      
      Change-Id: Ib1732cd90eb353379ef50ecbb1e207860969f1c3
      a4d87992
  17. 17 Apr, 2017 1 commit
    • Yushin Cho's avatar
      Skip adding zero siginal to prediction with DC only idct · 27acc478
      Yushin Cho authored
      If DC only idct gives zero, then we can skip the steps which
      add zero signal to predicted signal.
      DC only idct cases will occur more frequently at lower bit rates.
      
      Similar changes can be done for C version of high bit depth idct functions.
      
      Change-Id: I53af22904568f7043091710da70ca8299bf361c5
      27acc478
  18. 14 Apr, 2017 4 commits
    • Timothy B. Terriberry's avatar
      ec_smallmul: Simplify binary read/write. · d5b89d0d
      Timothy B. Terriberry authored
      This should be the same number of operations as the non-ec_smallmul
      version (though ideally we'd use the real 15-bit probability
      natively).
      
      Encoder output should not change, and all streams should remain
      decodable without decoder changes.
      
      Change-Id: I2998a77a02f566cd0c82c415395637acf49b5a97
      d5b89d0d
    • Timothy B. Terriberry's avatar
      daala_ec: Convert the decoder to use iCDFs · ead52876
      Timothy B. Terriberry authored
      This only changes the internal coding engine. We convert CDFs into
      iCDFs at the "bool" reader <-> daala_ec boundary.
      
      Decoder output should not change.
      
      Change-Id: I483dfe3e5588d2038c3c7ec4cd5ba62d6699b920
      ead52876
    • Timothy B. Terriberry's avatar
      daala_ec: Invert the internal state of the decoder · 881f109b
      Timothy B. Terriberry authored
      This removes one subtraction from the CDF search loop (reducing the
      dependency chain for reading from the CDF) at the cost of one
      increment and decrement during renormalization (easily absorbed by
      the reorder buffer).
      
      There should be no change in decoded output.
      
      Change-Id: Ia7905bb8ca7c5d4ab73f23ccc61bcd3432349aa2
      881f109b
    • Timothy B. Terriberry's avatar
      daala_ec: Convert the encoder to use iCDFs · 41b4f75b
      Timothy B. Terriberry authored
      This only changes the internal coding engine. We convert CDFs into
      iCDFs at the "bool" writer <-> daala_ec boundary.
      
      Encoder output should not change, and all streams should remain
      decodable without decoder changes.
      
      Change-Id: Id3ac7352926497bf6f7bc371ab9bc76e9a3569d5
      41b4f75b