1. 27 Jan, 2016 1 commit
    • Marco's avatar
      vp9-aqmode=3: Limit on period for golden update. · fab630fa
      Marco authored
      For aqmode=3, golden period update is set based on period of cyclic refresh.
      Put a limit on max golden period update, for now set to 40.
      And fix comment.
      
      Change-Id: Icb61dd87c796cce2a5f5f7331c6a129540994696
      fab630fa
  2. 21 Jan, 2016 2 commits
  3. 20 Jan, 2016 1 commit
  4. 05 Jan, 2016 1 commit
    • Marco's avatar
      vp9-skin detection: Refactoring. · a8b7c6aa
      Marco authored
      Add function to compute skin map for a given block, as its
      used in several places (cyclic refresh, noise estimation, and denoising).
      
      Change-Id: Ied622908df43b6927f7fafc6c019d1867f2a24eb
      a8b7c6aa
  5. 22 Dec, 2015 1 commit
    • Marco's avatar
      aq-mode=3: Don't reset segment if block is determined to be skin. · b121a3e7
      Marco authored
      For coding block sizes <=16X16, if the block is determined to be skin,
      then always allow for that block to be candidate for refresh. So if that
      block happens to be on the boost segment(s), segment won't get reset to 0
      and delta-q will be applied.
      
      PSNR/SSIM metrics neutral (little/no change) on RTC clips.
      Speed increase small/negligible (< 1%).
      Some visual improvement on faces in a few RTC clips.
      
      Change-Id: I6bf0fce6f39d820b491ce05d7c017ad168fce7d6
      b121a3e7
  6. 12 Nov, 2015 1 commit
  7. 02 Nov, 2015 1 commit
    • Marco's avatar
      Move noise level estimate outside denoiser. · c7da053d
      Marco authored
      Source noise level estimate is also useful for
      setting variance encoder parameters (variance thresholds,
      qp-delta, mode selection, etc), so allow it to be used also
      if denoising is not on.
      
      Change-Id: I4fe23d47607b4e17a35287057f489c29114beed1
      c7da053d
  8. 27 Oct, 2015 1 commit
    • Marco's avatar
      Adjustments to vp9-denoising. · 8a2fc545
      Marco authored
      Adjust variance threshold, delta-qp, and intra penalty cost,
      based on estimated noise level in source.
      
      Replace denoising_on with a level value=L/M/H.
      
      Change-Id: I0c017dae75a5d897367d2c42dec26f2f37e447c1
      8a2fc545
  9. 16 Oct, 2015 1 commit
    • Marco's avatar
      Adjustment on limiting cyclic refresh on steady blocks. · b44c5cf6
      Marco authored
      Adjust the qp threshold and consec_zeromv threshold for
      limiting cyclic refresh. Also increase the refresh period
      when the limit amount is significant, and some code-cleanup.
      
      Small gain in PSNR/SSIM metrics: ~0.25/0.3 gain on RTC set, speed 7.
      
      Change only affects non-screen content.
      
      Change-Id: I1ced87a89a132684c071e722616e445b2d18236a
      b44c5cf6
  10. 15 Oct, 2015 1 commit
  11. 07 Oct, 2015 1 commit
    • Marco's avatar
      Move setting of refresh threshold outside loop. · bc137ff6
      Marco authored
      Small code cleanup. consec_zeromv refresh threshold
      does not need to be computed for every super-block.
      
      No change in behavior.
      
      Change-Id: I8c4b1b28072f42b01d917fff6d1f62722f1e1554
      bc137ff6
  12. 25 Sep, 2015 1 commit
    • Marco's avatar
      Limit cyclic refresh on steady background blocks. · 3f7656cc
      Marco authored
      Use the existing QP condition on limiting cyclic refresh, and add
      addiitonal condition that block has been encoded with zero/small motion
      x frames in row (where x is at least several times the refresh period).
      Additional condition only affect non-screen content mode.
      
      This helps to improve visual stability for noisy input, where on steady
      background areas the application of delta_qp may lead to encoding the noise.
      
      Also added a change to use the true skip (after encoding) to update the
      last QP.
      
      Change-Id: I234a1128d017d284cf767fdb58ef6c59d809f679
      3f7656cc
  13. 23 Sep, 2015 1 commit
  14. 15 Sep, 2015 1 commit
    • Marco's avatar
      Add cyclic refresh parameters to svc-layer context. · eb53c69e
      Marco authored
      For 1 pass CBR spatial-SVC:
      Add cyclic refresh parameters to the svc-layer context.
      
      This allows cyclic refresh (aq-mode=3) to be applied to
      the whole super-frame (all spatial layers).
      This gives a performance improvement for spatial layer encoding.
      
      Addd the aq_mode mode on/off setting as command line option.
      
      Change-Id: Ib9c3b5ba3cb7851bfb8c37d4f911664bef38e165
      eb53c69e
  15. 14 Sep, 2015 1 commit
  16. 10 Sep, 2015 1 commit
  17. 08 Sep, 2015 1 commit
  18. 31 Aug, 2015 1 commit
  19. 27 Aug, 2015 1 commit
  20. 10 Aug, 2015 1 commit
  21. 07 Aug, 2015 1 commit
    • Marco's avatar
      Fix a setting in cyclic refresh. · dc36e5af
      Marco authored
      Use the correct period (in terms of cr->percent_refresh) for the condition
      of larger delta-qp following key frame.
      And account for larger interval for temporal layers.
      
      Change-Id: Ibb43f5200f9b1eeb8bbb8211327b08ecda3c3b8a
      dc36e5af
  22. 16 Jul, 2015 1 commit
  23. 25 Jun, 2015 1 commit
  24. 23 Jun, 2015 1 commit
    • Marco's avatar
      aq-mode=3: Reduce boost for segment#2 at low bitrates/low res. · 517a6620
      Marco authored
      Reduce boost for segment#2 for low bitrates and low-res.
      
      This change is to reduce the rate overshoot at low bitrates.
      No change in behavior, except at the very low bitrates.
      
      Change-Id: I0dbd9d3b6356da5804de94adf10fca6a7a8f8948
      517a6620
  25. 19 Jun, 2015 2 commits
    • Alex Converse's avatar
      Limit cyclic refresh revisitng blocks at the same quantizer. · 90c9ede8
      Alex Converse authored
      For screen content don't refresh a block at a quantizer higher than
      it was last coded at. PReviosuly at realtime speeds the encoder had a
      tendency to recode a block from GOLDEN with a higher Q than it was last
      coded at.
      
      Change-Id: Iacd561806c769dcce1a81b9827ffc70090f5ba18
      90c9ede8
    • Marco's avatar
      Add dynamic resize logic for 1 pass CBR. · d77f51ba
      Marco authored
      Decision to scale down/up is based on buffer state and average QP
      over previous time window. Limit the total amount of down-scaling
      to be at most one scale down for now.
      
      Reset certain quantities after resize (buffer level, cyclic refresh,
      rate correction factor).
      
      Feature is enable via the setting rc_resize_allowed = 1.
      
      Change-Id: I9b1a53024e1e1e953fb8a1e1f75d21d160280dc7
      d77f51ba
  26. 11 Jun, 2015 1 commit
  27. 09 Jun, 2015 1 commit
    • Marco's avatar
      Adjust some parameters for cyclic refresh for low bitrates. · 997ac14c
      Marco authored
      Reduce motion threshold and boost factor for second segment,
      for low bitrates, at low resolutions for now.
      This is to reduce the rate fluctuation/frame dropping that occurs
      at these low bitrates.
      
      Change-Id: Ia66c3be41831882fca8c1e4fe104f5ea8fbe7142
      997ac14c
  28. 15 May, 2015 1 commit
  29. 29 Apr, 2015 2 commits
    • Yunqing Wang's avatar
      Improve golden frame refreshing in non-rd mode · d31698b0
      Yunqing Wang authored
      The default golden frame interval was doubled. After encoding a
      frame, the background motion was measured. If the motion was high,
      the current frame was set as the golden frame. Currently, the
      changes were applied only while aq-mode 3 was on.
      
      Borg tests(rtc set) showed a 0.226% PSNR gain and 0.312% SSIM gain.
      No speed changes.
      
      Change-Id: Id1e2793cc5be37e8a9bacec1380af6f36182f9b1
      d31698b0
    • James Zern's avatar
      vpx_mem: remove vpx_memset · f58011ad
      James Zern authored
      vestigial. replace instances with memset() which they already were being
      defined to.
      
      Change-Id: Ie030cfaaa3e890dd92cf1a995fcb1927ba175201
      f58011ad
  30. 18 Mar, 2015 1 commit
    • Marco's avatar
      Adjustments to aq-mode=3. · 71e6ed7b
      Marco authored
      Factor in segment#2 and skip blocks into the postencode estimated bits,
      and increase somewhat the aggressiveness of the refresh.
      
      PSNR/SSIM Metrics on RTC set go up by ~0.8/0.5%.
      
      Change-Id: I5d4e7cb00a3aefb25d18c88b6b24118b72dc5d51
      71e6ed7b
  31. 13 Mar, 2015 1 commit
  32. 12 Mar, 2015 1 commit
  33. 10 Mar, 2015 1 commit
  34. 26 Feb, 2015 1 commit
  35. 20 Feb, 2015 1 commit
    • Marco's avatar
      Adjustments to cyclic refresh (aq-mode=3). · 0187f4b4
      Marco authored
      Target higher delta-qp for big blocks with zero motion,
      and for segment#1: avoid 64x64 partition size and force 8x8 tx size.
      
      Metrics on RTC set mostly positive: SSIM up by ~4%, PSRN by ~1.5%.
      Doesn't seem to be any change in speed.
      
      Change-Id: I1f68fa3c4f62dab3b90cc58041f05ebb048ae5ac
      0187f4b4
  36. 27 Jan, 2015 1 commit
    • Marco's avatar
      aq-mode=3: Update to allow for refresh on modes other than zero-mv. · 3f1af6e8
      Marco authored
      Add distortion threshold condition to refresh state of a coding block,
      and allow for qp adjustment also for some intra modes and non-zero motion modes.
      
      Also some code cleanup (remove unused variables/code).
      
      Change-Id: I735fa2b28bc64f60e0323976b82510577b074203
      3f1af6e8
  37. 03 Dec, 2014 1 commit