1. 22 Mar, 2017 1 commit
  2. 08 Mar, 2017 1 commit
  3. 04 Mar, 2017 1 commit
  4. 02 Mar, 2017 2 commits
    • Debargha Mukherjee's avatar
      Some optimizations on integer affine estimation · 93105538
      Debargha Mukherjee authored
      1. Adds a limit on number of candidate samples used for the
      estimation.
      2. Adds a limit on max mv magnitude for use in the least-squares
      3. Makes some of the internal variables 32-bit.
      
      Impact on coding efficiency in the noise range.
      
      Change-Id: I8c1c3216368ceb2e3548660a3b8c159df54a8312
      93105538
    • Sarah Parker's avatar
      Turn off global motion for sub8x8 blocks · ae7c458a
      Sarah Parker authored
      Lowres: 0.03% improvement, 1% improvement on waterfall_cif.y4m
      Midres: 0.085% overall improvement, 1.253% improvement on station2_480p25.y4m
      Change-Id: I3872934d978bb4ca828c6b9acd2fdb951d9da299
      ae7c458a
  5. 27 Feb, 2017 2 commits
    • Debargha Mukherjee's avatar
      Better block center in gm_get_motion_vector fn · f6dd3c68
      Debargha Mukherjee authored
      Also supports homography models for future experiments.
      
      Change-Id: I4510540f54133e063891ed491c95c087222f7810
      f6dd3c68
    • Debargha Mukherjee's avatar
      Integerize warped motion computation · e6eb3b53
      Debargha Mukherjee authored
      Integerizes computation of the least squares for warped motion.
      The model is restricted to only Affine. Affine seems easiest
      to compute and integerize since it can be split into two 3-dim
      least squares problems, as opposed to rotation-zoom which needs
      a 4-dim least-squares problem to be solved.
      The current implementation requires only one division per block.
      
      BDRATE impact is mminimal. The upgrade to the affine model improves
      coding efficiency but integerization also degrades efficiency a
      little. Overall there is a net gain of about -0.07% BDRATE on
      the lowres set.
      BDRATE lowres: -1.113% with ----enable-warped-motion vs. without
      (up from -1.044%).
      
      Change-Id: I6b9216ac0737d76f59054293eabee48e17739ec4
      e6eb3b53
  6. 25 Feb, 2017 2 commits
  7. 23 Feb, 2017 1 commit
    • David Barker's avatar
      Change gm_get_motion_vector · 45390c18
      David Barker authored
      Since gm_get_motion_vector is trying to give a motion vector for
      "the frame as a whole", it makes more sense for it to calculate
      the motion of the *center* of the block rather than the top-left
      corner of the frame.
      
      In theory, this change should also help the encoder make better
      decisions on when to use global motion. It avoids an issue
      where, early in the frame, NEARESTMV looks like a good way to use
      the global motion vector *without* paying the rate cost applied
      to the first few global motion blocks in each frame. This seems
      to lead to a better overall result.
      
      Change-Id: Ia5c6259ceb8b4ff3d00a5d553e1d18bdb802da59
      45390c18
  8. 13 Feb, 2017 1 commit
  9. 04 Feb, 2017 1 commit
  10. 30 Jan, 2017 1 commit
  11. 27 Jan, 2017 1 commit
  12. 26 Jan, 2017 1 commit
    • Debargha Mukherjee's avatar
      Fix mismtach with ref-mv and ext-partition-types · ff59b6ac
      Debargha Mukherjee authored
      Change the list of search offsets searched when ext-partition-types
      is on for square block_sizes. This is because the VERTICAL_A and
      HORIZONTAL_A partitions are incompatible with the default list.
      
      BUG=AOMEDIA:141
      
      Change-Id: I884c45c3d11039b7dcb72336a928362f926473ed
      ff59b6ac
  13. 24 Jan, 2017 1 commit
    • Jingning Han's avatar
      Fix conflicts between ext-inter and cb4x4 modes · 61418bbd
      Jingning Han authored
      Resolve the broken coding pipeline in ext-inter experiment when
      cb4x4 mode is enabled. Turn off rectangular inter-intra mode.
      This needs some more work to hook up. Given that it gives fairly
      limited coding performance gains, disable it for the moment.
      
      BUG=aomedia:309
      
      Change-Id: I9b406df6183f75697bfd4eed5125a6e9436d84b0
      61418bbd
  14. 23 Jan, 2017 2 commits
  15. 13 Jan, 2017 1 commit
    • Yue Chen's avatar
      Correct projection samples for local warping model estimation · d193cdcf
      Yue Chen authored
      When both GLOBAL_MOTION and WARPED_MOTION are enabled, identify
      the neighbors using global motion, and generate correct projection
      samples, from which the local warped motion is estimated.
      
      Change-Id: I13556a49649208e6f4d30bc570a41074aabc8ae6
      d193cdcf
  16. 19 Dec, 2016 1 commit
    • Jingning Han's avatar
      Scale reference motion vector search step size · fab16037
      Jingning Han authored
      This commit allows the dynamic motion vector referencing system to
      scale its search range according to the coding block size. This
      provides higher search resolution for smaller size coding unit.
      
      The cb4x4 mode improves the compression performance across all the
      test sets:
      
               avg     low    mid    high
      lowres   2.8%    2.4%   3.1%   3.0%
      midres   1.3%    0.3%   1.8%   2.7%
      hdres    0.9%    0.5%   1.4%   1.5%
      
      Change-Id: I1bc501506a9f2f06071c5274391f6bd053b235a7
      fab16037
  17. 15 Dec, 2016 1 commit
  18. 14 Dec, 2016 2 commits
  19. 09 Dec, 2016 1 commit
    • Jingning Han's avatar
      Refactor reference motion vector search scale · c016df86
      Jingning Han authored
      Make the reference motion vector search range and ranking weight
      scalable with the mode_info size. It retains the same coding
      statistics.
      
      Change-Id: I238e0ff6032fea842c3b6094287398f7ef7cb261
      c016df86
  20. 07 Dec, 2016 3 commits
  21. 01 Dec, 2016 3 commits
  22. 30 Nov, 2016 1 commit
  23. 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
  24. 28 Nov, 2016 1 commit
    • David Barker's avatar
      Fix a bug with global-motion + ref-mv · 8da6d9d7
      David Barker authored
      av1_find_mv_refs sets the ALL_ZERO flag when either (a) we don't have
      enough candidate MVs, or (b) all candidate MVs are zero. With global
      motion enabled, case (b) does not work as intended and causes two
      problems: a significant quality decrease for foreman_cif.y4m, and
      test failures in *CpuSpeedTest*Screencast*.
      
      This patch skips check (b) when global motion is enabled, fixing
      the above bugs.
      
      Change-Id: I7461588cb02733563c1439f430b89190299a1b5d
      8da6d9d7
  25. 21 Nov, 2016 3 commits
  26. 19 Nov, 2016 1 commit
    • Jingning Han's avatar
      Pre-store the pred_diff for nmv context · 3f338830
      Jingning Han authored
      Replace the int_mv storage in the ref_mv_stack struct with unit8_t
      integer to indicate the prediction difference level.
      
      Change-Id: I0bfbcab350a46ecdd5bc47bd918cce9614365227
      3f338830
  27. 18 Nov, 2016 2 commits
  28. 17 Nov, 2016 1 commit
    • Jingning Han's avatar
      Fix has_top_right() logic · 2837b417
      Jingning Han authored
      If a coding block is in the top row of a 64x64 (or 128x128) block,
      its top-right corner should be available. No major coding performance
      change is observed.
      
      Change-Id: I0ee23db313cd53b34b7bc28230705f1cb1f8fe89
      2837b417