1. 10 Apr, 2017 1 commit
  2. 25 Mar, 2017 1 commit
    • emilkeyder@google.com's avatar
      Compute multiple global motions and pick best by error adv. · f3477635
      emilkeyder@google.com authored
      Modify ransac to keep the N best global motions by num_inliers and
      variance rather than a single one. Compute the error advantage for
      each in encode_frame_internal(), and use the best as the global motion
      for that pair of <target, reference> frames.
      
      Improvements for different values of N:
      
      N                     %PSNR gain on lowres
      1 (current impl)      1.287
      2                     1.328
      4                     1.370
      8                     1.419
      16                    1.427
      32                    1.439
      
      Change-Id: Ic0c9066a3f175a5ea0a78828cd244104e70144ba
      f3477635
  3. 23 Feb, 2017 2 commits
  4. 17 Feb, 2017 1 commit
    • Debargha Mukherjee's avatar
      Support trapezoidal models for global motion · 5dfa9300
      Debargha Mukherjee authored
      Adds functinoality for least-squares, RANSAC as well as encoding and
      decoding with new constrained homographies that warp blocks to horizontal
      and/or vertical trapezoids. This is for future experimentation. None
      of the models are actually enabled in the code.
      
      Change-Id: I1936018c6b11587d6fd83c3a2c63548cb641b33f
      5dfa9300
  5. 15 Feb, 2017 1 commit
    • David Barker's avatar
      Speed up global motion determination · 15338d5f
      David Barker authored
      When global-motion is enabled, a considerable amount
      of encoder time is spent in the functions in corner_match.c.
      This patch optimizes those functions to be 3.5-4x as fast,
      leading to an end-to-end encoder speed improvement
      (on 20 frames of tempete_cif.y4m) of:
      
       200kbps: ~26% faster
       800kbps: ~19% faster
      2800kbps: ~12% faster
      
      Change-Id: I04d3f87484c36c41eb5a1e86e814f2accbe86297
      15338d5f
  6. 10 Dec, 2016 1 commit
  7. 29 Nov, 2016 1 commit
  8. 16 Nov, 2016 1 commit
    • David Barker's avatar
      Enable global motion in high bit depth mode · 557ce7b5
      David Barker authored
      The global motion detection only works on 8-bit buffers,
      so any frames using 16-bit buffers are now down-converted
      to 8 bits when necessary.
      
      Change-Id: I4f88f4ccd449e73a2292cda70fe573dc49fcb8a0
      557ce7b5
  9. 03 Nov, 2016 1 commit
  10. 16 Sep, 2016 1 commit
  11. 01 Sep, 2016 1 commit
  12. 29 Aug, 2016 1 commit
    • Sarah Parker's avatar
      Implement global motion parameter computation · 4dc0f1b1
      Sarah Parker authored
      This computes global motion parameters between 2 frames by
      matching corresponding points using FAST feature and then
      fitting a model using RANSAC.
      
      Change-Id: Ib6664df44090e8cfa4db9f2f9e0556931ccfe5c8
      4dc0f1b1
  13. 12 Aug, 2016 1 commit
  14. 09 Aug, 2016 1 commit
    • Sarah Parker's avatar
      Add interface to compute gm parameters in encodeframe · d616a5ce
      Sarah Parker authored
      This patch just creates the interface for global motion computation
      and calls it from encodeframe. Currently, the function
      compute_global_motion_feature_based is empty and the work to do
      the actual parameter calculation will be added in a future patch.
      
      Change-Id: Ife142742140079e1c1743b66f180aeb2ecea29ae
      d616a5ce