1. 29 Nov, 2016 1 commit
    • Yue Chen's avatar
      Add WARPED_MOTION experiment · 69f18e1a
      Yue Chen authored
      Performance gain (REF_MV on by default)
      WARPED_MOTION: 1.061%
      WARPED_MOTION+MOTION_VAR: 2.917%
      MOTION_VAR: 2.337%
      
      Change-Id: I43f742a02cdd43d13ef333a0a15087062ad020ab
      69f18e1a
  2. 17 Nov, 2016 1 commit
  3. 16 Nov, 2016 1 commit
    • Zoe Liu's avatar
      Fix the code to allow a 3rd compound mode · 00d5472a
      Zoe Liu authored
      It is possible down the road new compound modes are added in addition to
      COMPOUND_AVERAGE and COMPOUND_WEDGE.
      
      Change-Id: I85985d4c104effd34df13845344aac2a08d28019
      00d5472a
  4. 11 Nov, 2016 2 commits
  5. 10 Nov, 2016 1 commit
  6. 02 Nov, 2016 1 commit
    • Jingning Han's avatar
      Fix a merge bug between dual_filter and sub8x8mc · 46003149
      Jingning Han authored
      The function module in inter_predictor() has been changed to
      universally support arbitrary block size inter prediction. Hence
      sub8x8mc can be a standalone experiment now.
      
      Change-Id: Ie9d87f61fc317b1d114edb4e0bf5544f918ed08e
      46003149
  7. 28 Oct, 2016 1 commit
  8. 24 Oct, 2016 2 commits
  9. 22 Oct, 2016 1 commit
  10. 21 Oct, 2016 1 commit
    • Jingning Han's avatar
      Sub8x8 block chroma component inter prediction · e29ea12f
      Jingning Han authored
      Handle the sub8x8 chroma component at the unit of 2x2/4x2/2x4 level
      and use the motion vector inherited from the luma component. This
      improves the coding performance:
      
      lowres 0.4%
      midres 0.25%
      hdres  0.15%
      
      Change-Id: I34dff4218cfa3e5d55e7ed0341f36f4719389f7e
      e29ea12f
  11. 19 Oct, 2016 1 commit
    • Urvang Joshi's avatar
      Code cleanup: mainly rd_pick_partition and methods called from there. · 52648448
      Urvang Joshi authored
      - Const correctness
      - Refactoring
      - Make variables local when possible etc
      - Remove -Wcast-qual to allow explicitly casting away const.
      
      Cherry-picked from aomedia/master: c27fcccc
      And then a number of more const correctness changes to make sure other
      experiments build OK.
      
      Change-Id: I77c18d99d21218fbdc9b186d7ed3792dc401a0a0
      52648448
  12. 14 Oct, 2016 1 commit
    • Yue Chen's avatar
      Fix obmc chroma prediction involving neighboring sub8x8 blocks' mvs · 1c263e03
      Yue Chen authored
      When the neighbor uses a sub8x8 partition, to predict chroma pixels in
      the overlapping region, instead of averaging all mvs in the 8x8 block,
      only apply those belonging to neighboring sub8x8 parts to the
      corresponding sub-regions (no averaging).
      The change applies to both settings w/ and w/o SUB8X8_MC experiment.
      
      Change-Id: I033e9f218d02bc9879841b794931b575fac14f25
      1c263e03
  13. 13 Oct, 2016 1 commit
    • Yue Chen's avatar
      Renamings for OBMC experiment · cb60b185
      Yue Chen authored
      To get ready for pulling AV1 to nextgenv2
      Replace the experimental flag by MOTION_VAR. Rename major variables.
      
      Change-Id: If6cf4f37b9319c46d8f90df551cc7295d66ca205
      cb60b185
  14. 06 Oct, 2016 1 commit
    • Yue Chen's avatar
      Fix border check in MOTION_VAR · 79d8a07d
      Yue Chen authored
      Correct distance to right and bottom edge when predicting the overlapping
      region using neighbor predictors. The distance is more than that for the
      whole block, so the condition in clamp_mv will be looser.
      
      Change-Id: I40dfdd9c0a2a5e854cac12195b282493981e9d93
      79d8a07d
  15. 04 Oct, 2016 1 commit
  16. 15 Sep, 2016 1 commit
  17. 09 Sep, 2016 1 commit
    • James Zern's avatar
      s/INTERP_FILTER/InterpFilter/ · 7b9407a8
      James Zern authored
      this matches style guidelines and stabilizes successive runs of
      clang-format across the tree. remaining types should be address in
      successive commits.
      
      Change-Id: I6ad3f69cf0a22cb9a9b895b272195f891f71170f
      7b9407a8
  18. 02 Sep, 2016 1 commit
  19. 01 Sep, 2016 2 commits
  20. 12 Aug, 2016 1 commit
  21. 08 Aug, 2016 1 commit
    • Sarah Parker's avatar
      Add reconstruction using gm parameters · b659281e
      Sarah Parker authored
      This patch only includes inter frame reconstruction using gm
      parameters when GLOBAL_MOTION and/or VP9_HIGHBITDEPTH are enabled.
      GM is not currently used when EXT_INTER or DUAL_FILTER is enabled.
      This will be added in a followup patch. For now, these experiments
      will take precedence over GLOBAL_MOTION when they are all enabled.
      
      Change-Id: I930ddda529c44d7245dbb56db3c9c5524cf45473
      b659281e
  22. 18 Jul, 2016 1 commit
  23. 13 Jul, 2016 1 commit
    • Geza Lore's avatar
      Optimize and cleanup obmc predictor and rd search. · 4c4f04ac
      Geza Lore authored
      Use vpx_blend_a64_hmask and vpx_blend_a64_vmask to speed up
      computing the obmc predictor. Clean up calc_target_weighted_pred.
      
      Encoder speedup: 1.3%
      Decoder speedup: 6.5%
      
      Change-Id: I0c774fe53d22399e92a10d1daf3af0010d88d2c5
      4c4f04ac
  24. 11 Jul, 2016 2 commits
    • Geza Lore's avatar
      Optimize and cleanup supertx predictor. · cd489264
      Geza Lore authored
      Use vpx_blend_a64_hmask and vpx_blend_a64_vmask to speed up
      computing the supertx predictor.
      
      Decoder speedup of up to 4% has been observed.
      
      Change-Id: I255a5ba4cc24f78dc905d25b6e2f7fbafac13253
      cd489264
    • Geza Lore's avatar
      Improve vpx_blend_* functions. · bfa59b4a
      Geza Lore authored
      - Made source buffers pointers to const.
      - Renamed vpx_blend_mask6b to vpx_blend_a64_mask. This is more
        indicative that the function does alpha blending. The 6, or 6b
        suffix was misleading, as the max mask value (64) does not fit into
        6 bits.
      - Added VPX_BLEND_* macros to use when needing to blend scalars.
      - Use VPX_BLEND_A256 in combine_interintra to be more explicit about
        the operation being done.
      - Added versions of vpx_blend_a64_* which take 1D horizontal/vertical
        masks directly and apply them to all rows/columns
        (vpx_blend_a64_hmask and vpx_blend_a64_vmask). The SSE4.1 optimzied
        horizontal version now falls back on the 2D version. This can be
        improved upon if it show up high enough in a profile.
      - All vpx_blend_a64_* functions now support block sizes down to 1x1
        (ie: a single pixel). This is for usage convenience. The SSE4.1
        optimized versions fall back on the C implementation if
        w <= 2 or h <= 2. This can again be improved if it becomes hot code.
      
      Change-Id: I13ab3835146ffafe3e1d74d8e9cf64a5abe4144d
      bfa59b4a
  25. 08 Jul, 2016 1 commit
  26. 07 Jul, 2016 1 commit
  27. 21 Jun, 2016 1 commit
  28. 14 Jun, 2016 1 commit
    • Jingning Han's avatar
      Fix enc/dec mismatch in non-420 settings · a4ea8fd8
      Jingning Han authored
      This commit makes the dual filter experiment work with non-420
      settings. It fixes unit test failure in EndToEndTestLarge.
      
      Change-Id: I04f7afdee78f91389d9ff72947efa152098af930
      a4ea8fd8
  29. 13 Jun, 2016 1 commit
  30. 10 Jun, 2016 3 commits
  31. 06 Jun, 2016 2 commits
    • Angie Chiang's avatar
      Fix build failure happened in reconinter.c · 2250c6b0
      Angie Chiang authored
      Change-Id: Ifd5ed91e4e91238fb53a202c8d76c11fbb9ccf7c
      2250c6b0
    • Geza Lore's avatar
      Optimize wedge partition selection. · efda2831
      Geza Lore authored
      We can optimize wedge partition selection by pre-computing the
      residuals of the 2 underlying predictors, and then blend these
      to compute the sse of the compound predictor, without actually
      having to compute and subtract the compound predictor.
      
      Similarly we can pre-compute a proxy array which we can use to
      cheaply check which mask sign would have lower sse.
      
      Details are in wedge_utils.c.
      
      Mathematically these are equivalence transformations, but due to the
      finite precision the encoder output will be perturbed, though on
      average this should make 0% difference.
      
      ext-inter gains about ~4.5% speedup.
      
      Change-Id: Ib2657c3209ae161b4090b58b4b6c392641bf2792
      efda2831
  32. 03 Jun, 2016 1 commit
    • Geza Lore's avatar
      Pre-compute and use contiguous wedge masks. · ab29978e
      Geza Lore authored
      This is purely a refactoring patch and has no functional effect.
      
      Uses of these masks can be arranged such that all input blocks are
      contiguous in memory (stride == block width). In this case 1D versions
      of  operations can be used. 1D vector operations have superior performance
      over 2D block equivalents as they are more processor cache friendly and
      they can do away with a second loop overhead.
      
      Change-Id: I2b76c9888aea2c857cc497e8a4b2841fd3dad54e
      ab29978e
  33. 02 Jun, 2016 1 commit
    • Geza Lore's avatar
      Use standard rounding in combine_interintra. · 888e90e8
      Geza Lore authored
      Use the same rounding method that is used throughout the codebase,
      where the halfway value is rounded up rather than down.
      
      Change-Id: I04e92850bc69a7d7a07b06e3d2ce97f6f2ada321
      888e90e8