1. 14 Jul, 2014 1 commit
    • Minghai Shang's avatar
      [spatial svc]Implement alt reference frames · e899859c
      Minghai Shang authored
      All changes are for spatial svc only.
      1. Enable encoding hidden frames in each layer and use alt reference idex to reference the hidden frame in each layer
      2. Use golden reference idx for spatial reference
      3. For those layers that don't have hidden frames (caused by lack of frame buffers), reference a hidden frame in lower layers
      4. Add "auto-alt-refs" in svc options
      Change-Id: Idf27d1fd2fb5f3ffd9e86d2119235e3dad36c178
      e899859c
  2. 11 Jul, 2014 1 commit
    • Paul Wilkins's avatar
      Re-factor and simplify arnr filter. · e3e6e061
      Paul Wilkins authored
      Use a weaker filter for second level arf frames.
      Average gain across all sets and metrics ~0.3%
      
      Remove code for arnr_type which is no longer
      supported in VP9 which always uses a centered blur.
      
      Re-factor and some cleanup.
      
      Change-Id: Ieb4b8940e99e4e02b3fcc9fca6f2d4109e6ed639
      e3e6e061
  3. 09 Jul, 2014 1 commit
    • Yunqing Wang's avatar
      Remove repetitive code in mcomp.c · a581da21
      Yunqing Wang authored
      Deleted vp9_find_best_sub_pixel_comp_tree(), and combined it in
      vp9_find_best_sub_pixel_tree().
      
      Change-Id: Ifb25763c8b19822df5537cc1daa76ce88dc3b056
      a581da21
  4. 07 Jul, 2014 1 commit
    • Alex Converse's avatar
      Cleanup motion search speed features. · f60a1178
      Alex Converse authored
      * Replace max_step_search_steps with constant MAX_MVSEARCH_STEPS
      * Fold (reduce_first_step_size + speed > 5) into reduce_first_step_size
        replacing uses of reduce_first_step_size that don't add the speed
        check with zero.
      
      Change-Id: Iae46395dbf3eaca138bf4d18b838a9e364b5a198
      f60a1178
  5. 12 Jun, 2014 1 commit
    • Dmitry Kovalev's avatar
      Adding MV_SPEED_FEATURES struct. · 4ff1a614
      Dmitry Kovalev authored
      Moving all motion vector related speed parameters from SPEED_FEATURES to
      MV_SPEED_FEATURES.
      
      Change-Id: I3e9af0039c7162f8671878c5920bce3cb256a84e
      4ff1a614
  6. 20 May, 2014 1 commit
  7. 05 May, 2014 1 commit
    • Adrian Grange's avatar
      Fix rounding in ARNR calculation · 928b34e8
      Adrian Grange authored
      The rounding of the ARNR filter output prior to
      normalization by the filter strength was incorrect
      when strength = 0.
      
      In this case 1 << (strength - 1) would not create the
      required rounding of 0, rather it would outrange. This
      patch fixes this issue.
      
      Change-Id: I771809ba34d6052b17d34c870ea11ff67b418dab
      928b34e8
  8. 01 May, 2014 1 commit
  9. 29 Apr, 2014 1 commit
    • Adrian Grange's avatar
      Revert "Force ARNR filtering to be centered on the ARF frame" · 0a386b92
      Adrian Grange authored
      This reverts commit 59e733ca.
      
      Hold off removing arnr_type to give users the opportunity
      to change their script files to handle its deprecation. A
      follow-up patch will mark the control for setting arnr_type
      as deprecated and it will be removed completely in a later
      revision of the code.
      
      Change-Id: I8b817c744e144d3714234a4cd4309816d0c7e3e8
      0a386b92
  10. 22 Apr, 2014 2 commits
    • Dmitry Kovalev's avatar
      Renaming "onyx" to "encoder". · ef003078
      Dmitry Kovalev authored
      Actual renames:
        vp9_onyx_if.c -> vp9_encoder.c
        vp9_onyx_int.h -> vp9_encoder.h
      
      Change-Id: I80532a80b118d0060518e6c6a0d640e3f411783c
      ef003078
    • Adrian Grange's avatar
      Force ARNR filtering to be centered on the ARF frame · 59e733ca
      Adrian Grange authored
      ARNR filtering is now forced to be centered on the ARF
      frame and the other two options have been removed.
      
      The other modes of constructing the ARNR frame were
      not used and there does not seem to be any good
      reason to maintain them.
      
      This is purely an encoder-side change.
      
      Change-Id: Ic772636d23f280752973852b9740083532a49de2
      59e733ca
  11. 18 Apr, 2014 1 commit
  12. 17 Apr, 2014 1 commit
  13. 03 Apr, 2014 1 commit
  14. 02 Apr, 2014 1 commit
  15. 03 Mar, 2014 1 commit
  16. 27 Feb, 2014 1 commit
    • Dmitry Kovalev's avatar
      Adding vpx_sse_to_psnr() function. · 7d5bffc4
      Dmitry Kovalev authored
      Removing all copies of identical vp8_mse2psnr/vp9_mse2psnr functions.
      Using vpx_sse_to_psnr() instead in all places.
      
      Change-Id: I15beef9834d43d8fc8a8a7a2d1fc5de3d658fed8
      7d5bffc4
  17. 13 Feb, 2014 1 commit
  18. 12 Feb, 2014 1 commit
    • Deb Mukherjee's avatar
      Removes active_worst_quality feedback · d23e3392
      Deb Mukherjee authored
      Removes certain cases of feedback of active_worst_quality,
      and removes it from the RATE_CONTROL structure. Now active
      worst quality is expected to be computed locally in the
      q picking function during the encode.
      Making temporal filter strength depend on avg_frame_qindex
      rather than on active_worst_quality actually improves
      performance esp. for yt.
      derf: +0.038%
      yt: +0.359%
      
      Change-Id: I1fe5a343034b55af9322289165321f00ac0827b1
      d23e3392
  19. 04 Feb, 2014 1 commit
  20. 29 Jan, 2014 1 commit
    • Deb Mukherjee's avatar
      Enables alt-ref frames in one pass mode · 50bf8fd4
      Deb Mukherjee authored
      Includes a few fixes and clean-ups that adds the ability
      to use alt-ref frames in one-pass mode.
      Whether alt-refs are actually used or not is controlled by a
      macro USE_ALTREF_FOR_ONE_PASS in vp9_firstpass.c.
      
      This first cut seems to improve derf by 15+% in 1-pass mode.
      But further experiments with parameters are underway.
      
      Change-Id: I78254421435478003367c788c7930d2dc4ee2816
      50bf8fd4
  21. 25 Jan, 2014 1 commit
    • Dmitry Kovalev's avatar
      Removing subpix_fn_table struct. · 86915654
      Dmitry Kovalev authored
      We don't use different filter kernels for x and y, it is always one kernel
      for both directions.
      
      Change-Id: Iefcbb02ec74bf46ea20d9dca672a3efd5d631517
      86915654
  22. 21 Jan, 2014 1 commit
    • hkuang's avatar
      Seperate the border size for encoder and decoder. · 437004c7
      hkuang authored
      Encoder's boarder is still 160, while decoder's boarder will be 32.
      With on demand and separate boarder buffer for boarder extension.
      The decoder's boarder does not need to to 160 anymore.
      
      Change-Id: I93d5aaff15a33a2213e9761eaa37c5f2870747db
      437004c7
  23. 20 Dec, 2013 1 commit
    • Dmitry Kovalev's avatar
      Using single struct to represent scale factors. · a3fbcc88
      Dmitry Kovalev authored
      Moving back to scale_factors struct. We don't need anymore x_offset_q4 and
      y_offset_q4 because both values are calculated locally inside vp9_scale_mv
      function.
      
      Change-Id: I78a2122ba253c428a14558bda0e78ece738d2b5b
      a3fbcc88
  24. 19 Dec, 2013 1 commit
    • Dmitry Kovalev's avatar
      Call set_scaled_offsets() just before scale_mv() call. · c872d2be
      Dmitry Kovalev authored
      Before mv scaling it is required to calculate x_offset_q4/y_offset_q4
      by calling set_scaled_offsets(). Now offset configuration can not be
      missed because it happens just before scale_mv().
      
      Change-Id: I7dd1a85b85811a6cc67c46c9b01e6ccbbb06ce3a
      c872d2be
  25. 18 Dec, 2013 1 commit
  26. 22 Nov, 2013 1 commit
    • Deb Mukherjee's avatar
      Refactoring of rate control - part 1 · f1781e86
      Deb Mukherjee authored
      Moves all rate control variables to a separate structure,
      removes some currently unused variables,
      moves some rate control functions to vp9_ratectrl.c,
      and splits the encode_frame_to_data_rate function.
      
      Change-Id: I4ed54c24764b3b6de2dd676484f01473724ab52b
      f1781e86
  27. 18 Nov, 2013 1 commit
  28. 24 Oct, 2013 1 commit
  29. 22 Oct, 2013 1 commit
    • Yunqing Wang's avatar
      Improve scale_factors struct · 175c313a
      Yunqing Wang authored
      The ref's scale_factors are set at frame level, and then copied for
      each partition block. Since the struct members are mostly constant,
      this patch separated the constant and non-constant members, and
      reduced struct copying. This gave 0.5% ~ 1.4% decoder speed gain.
      
      Change-Id: I94043bf5a6995c8042da52e5c661818dfa6f6d4c
      175c313a
  30. 21 Oct, 2013 1 commit
  31. 17 Oct, 2013 1 commit
  32. 04 Oct, 2013 1 commit
  33. 25 Sep, 2013 1 commit
  34. 24 Sep, 2013 1 commit
  35. 11 Sep, 2013 1 commit
    • Scott LaVarnway's avatar
      New mode_info_context storage -- undo revert · ac6093d1
      Scott LaVarnway authored
      mode_info_context was stored as a grid of MODE_INFO structs.
      The grid now constists of pointers to MODE_INFO structs.  The
      MODE_INFO structs are now stored as a stream (decoder only),
      eliminating unnecessary copies and is a little more cache
      friendly.
      
      Change-Id: I031d376284c6eb98a38ad5595b797f048a6cfc0d
      ac6093d1
  36. 09 Sep, 2013 1 commit
  37. 06 Sep, 2013 1 commit
    • Scott LaVarnway's avatar
      New mode_info_context storage · dae17734
      Scott LaVarnway authored
      mode_info_context was stored as a grid of MODE_INFO structs.
      The grid now constists of a pointer to a MODE_INFO struct and
      a "in the image" flag.  The MODE_INFO structs are now stored
      as a stream, eliminating unnecessary copies and is a little
      more cache friendly.
      
      For the test clips used, the decoder performance improved
      by ~4.3% (1080p) and ~9.7% (720p).
      
      Patch Set 2: Re-encoded clips with latest. Now ~1.7% (1080p)
      and 5.9% (720p).
      
      Change-Id: I846f29e88610fce2523ca697a9a9ef2a182e9256
      dae17734
  38. 22 Aug, 2013 1 commit
    • Dmitry Kovalev's avatar
      Checking scale factors on access. · 3c426572
      Dmitry Kovalev authored
      It is possible to have invalid scale factors and not access them
      during decoding. Error is reported if we really try to use invalid scale
      factors.
      
      Change-Id: Ie532d3ea7325ee0c7a6ada08269f804350c80fdf
      3c426572
  39. 21 Aug, 2013 1 commit
    • Dmitry Kovalev's avatar
      Adding scale factor check. · a3ae4c87
      Dmitry Kovalev authored
      We support only [1/16, 2] scale factors, enforcing this now.
      
      Change-Id: I0822eb7cea51720df6814e42d3f35ff340963061
      a3ae4c87