1. 06 Jan, 2017 1 commit
  2. 14 Dec, 2016 1 commit
  3. 11 Oct, 2016 2 commits
    • Marco's avatar
      1 pass vbr: Allow for lookahead alt-ref in real-time mode. · 57c6bf29
      Marco authored
      For 1 pass vbr real-time mode:
      Allow for the usage of alt-ref frame when non-zero lag-in-frames is used.
      Use non-filtered alt-ref, and select usage based on fast scene/content
      analysis/detection within the lag of frames.
      
      Positive gains on ytlive set: overall avgPSNR ~3-4%.
      Several clips are up between 5-14%, a few clips are neutral/small change.
      
      Current speed decrease is about ~5-10%.
      
      Use the flag USE_ALTREF_FOR_ONE_PASS to enable this feature
      (off by default for now).
      
      Change-Id: I802d2bf3d44f9cf01f6d15c76be9c90192314769
      57c6bf29
    • Marco's avatar
      vp9: 1 pass vbr: some adjustments to gf interval. · cdbd8919
      Marco authored
      Put limit on gf interval based on lag, and allow
      for the adjustment on next gf group also on key frame.
      
      Small/neutral change on ytlive metrics.
      
      Change only affects 1 pass vbr real-time mode.
      
      Change-Id: I339c8f4398848698b6e10fe9482c52ca661b94a5
      cdbd8919
  4. 15 Sep, 2016 2 commits
    • Marco's avatar
      vp9: Small code cleanup. · 4c1a9fb8
      Marco authored
      Remove the experiment LIMIT_QP_ONEPASS_VBR_LAG, as its
      not currently used and no plan to use in near future.
      
      Change-Id: Ib069f8d7225195be04b765d0ab477510dfba6a3b
      4c1a9fb8
    • clang-format's avatar
      apply clang-format · 5f6d143b
      clang-format authored
      Change-Id: I501597b7c1e0f0c7ae2aea3ee8073f0a641b3487
      5f6d143b
  5. 01 Sep, 2016 1 commit
    • paulwilkins's avatar
      Casts to remove some warnings. · 3e9e7700
      paulwilkins authored
      Added casts to remove warnings:
      BUG=webm:1274
      
      In regards to the safety of these casts they are of two types:-
      
      - Normalized bits per (16x16) MB stored in a 32 bit int (This is safe as bits
      per MB even with << 9 normalization cant overflow 32 bits. Even raw 12
      bits hdr source even would only be  29 bits :- (4+4+12+9) and the encoder
      imposes much stricter limits than this on max bit rate.
      
      - Cast as part of variance calculations.  There is an internal cast up to 64 bit
      for the Sum X Sum calculation, but after normalization dividing by the number
      of points the result will always be <= the SSE value.
      
      Change-Id: I4e700236ed83d6b2b1955e92e84c3b1978b9eaa0
      3e9e7700
  6. 31 Aug, 2016 1 commit
    • paulwilkins's avatar
      Modified resize loop constraints. · 6fc07a21
      paulwilkins authored
      Using a tighter resize constraint on undershoot seems to help
      results (especially SSIM) as significant undershoot on a frame
      seems to have more of a damaging impact than overshoot.
      
      This patch has been tuned so that in local testing using the
      derf set it is encode speed neutral for speed  setting 2.
      
      Average quality result for speed 2 (psnr,ssim) were  as follows:-
      
       lowres  0.039,  0.453
       midres  0.249, 0.853
       hdres  0.159, 0.659
       NetFlix -0.241, 0.360
      
      Change-Id: Ie8d3a0d7d6f7ea89d9965d1821be17f8bda85062
      6fc07a21
  7. 04 Aug, 2016 1 commit
  8. 03 Aug, 2016 1 commit
    • Marco's avatar
      vp9 1pass vbr: Adjustment to gf interval. · ff0a87ce
      Marco authored
      Increase the minimum distance.
      Reduces the overshoot somewhat on some clips,
      small gain in avgPSNR (~0.1%) on ytlive set.
      
      Change-Id: Id5ddde20c2907dbdb536e79542eff775019c142b
      ff0a87ce
  9. 02 Aug, 2016 1 commit
  10. 22 Jul, 2016 1 commit
  11. 20 Jul, 2016 1 commit
  12. 18 Jul, 2016 1 commit
    • Marco's avatar
      vp9: Allow usage of lookahead for real-time, 1 pass vbr. · 05fe0f20
      Marco authored
      Allow usage of lookahead for VBR in real-time mode, for 1 pass vbr.
      
      Current usage is for fast checking of future scene cuts/changes,
      and adjusting rate control (gf interval and active_worst/target size).
      
      Added unittests (datarate) for 1 pass vbr mode, with non-zero lag.
      
      Added an experimental option to limit QP based on lookahead.
      
      Overall positive gain in metrics on ytlive set:
      avgPNSR/SSIM up on average ~1-3%; several clips up by 5, 7%.
      
      Change-Id: I960d57dfc89de121c4824b9a9bf88d2814e74b56
      05fe0f20
  13. 07 Jul, 2016 1 commit
    • Marco's avatar
      vp9: Adjustment of gfu_boost and af_ratio for 1 pass vbr. · cc431ad5
      Marco authored
      Modify the gfu_boost and af_ratio setting based on the
      average frame motion level.
      
      Change only affects 1 pass vbr.
      
      Metrics overall positive on ytlive set.
      On average up by ~1%, several clips up by 2-4%.
      
      Change-Id: Ic18c49eb2df74cb4986b63cdb11be36d86ab5e8d
      cc431ad5
  14. 10 Jun, 2016 1 commit
  15. 08 Jun, 2016 1 commit
  16. 07 Jun, 2016 2 commits
    • Marco's avatar
      vp9: Replace the avg_size_inter metric, for 1 pass vbr. · f0b08aa4
      Marco authored
      Code cleaup, use existing rolling_actual/target metrics instead,
      set threshold to get same/similar effect.
      
      Little/no change in metrics on ytlive set.
      
      Change-Id: I74f3c3d0a143a9cf20dc9c3dee54c0f7e6a97a51
      f0b08aa4
    • Marco's avatar
      vp9: Small ajustment to settings gf_interval, 1 pass vbr. · 3de42ac2
      Marco authored
      Add a max condition and lower the min value.
      
      No change in behavior (metrics for yt live set) for the
      default min/max_gf_interval=4/16 settings.
      Small positive change when min/max_gf_interval=7/16
      (for 60fps clips on ytlive set).
      
      Change-Id: I1c1d72425c86c69419ea43fb9730130e81062f91
      3de42ac2
  17. 03 Jun, 2016 2 commits
    • paulwilkins's avatar
      Adjustment to VBR rate correction. · c7ac2f38
      paulwilkins authored
      Changes to the function the redistributes bits from overshoot
      or undershoot throughout the rest of the clip to respond more
      quickly.
      
      Change-Id: I90f10900cdd82cf2ce1d8da4b6f91eb5934310da
      c7ac2f38
    • paulwilkins's avatar
      Remove gf_zeromotion_pct. · 4328b085
      paulwilkins authored
      The use of this value is preventing rate adjustment on clips
      or sections that have very little motion but high noise and
      this can give rise to some sections with massive overshoot.
      
      Change-Id: I9a65c7c1148dc5d3a7d8b23e50fc1733f3661621
      4328b085
  18. 13 May, 2016 1 commit
  19. 11 May, 2016 1 commit
  20. 09 May, 2016 1 commit
  21. 05 May, 2016 1 commit
  22. 29 Apr, 2016 1 commit
  23. 25 Apr, 2016 2 commits
  24. 20 Apr, 2016 3 commits
  25. 18 Apr, 2016 2 commits
    • Marco's avatar
      vp9: 1 pass vbr: More even spacing for gf near key frame. · 9cc1f692
      Marco authored
      More even spacing near key frame and avoid gf on scene cut
      if its close to key frame.
      
      Small increase in metrics for ytlive set (which uses key-period=150).
      (~0.2% gain)
      
      Change only affects 1 pass vbr mode.
      
      Change-Id: If1e5a59baf1e0befbaf998522fbc47d94ac5b5df
      9cc1f692
    • Marco's avatar
      vp9: Adjustment to active_best_quality for inter_frame, 1 pass vbr. · d488236c
      Marco authored
      Change only affects 1 pass vbr.
      
      Use a q value somewhat larger (~6%) than avg_frame_qindex[INTER]
      as basis for active_best_quality for inter-frames.
      And use the minium of this (avg_frame_qindex) and the active_worst_quality.
      
      This reduces some overshoot in ytlive clips.
      Overall small but positive average increase in metrics (up on average ~0.2%).
      
      Change-Id: Icdbaae7872d5675fd38a13c0ec6ce0e2e3b919ce
      d488236c
  26. 13 Apr, 2016 3 commits
  27. 12 Apr, 2016 1 commit
    • Marco's avatar
      vp9: Fix to active_best for GF/ARF in 1 pass vbr. · 3861b25b
      Marco authored
      Correct the setting of Q basis of GF/ARF in 1 pass vbr.
      
      Existing logic would switch to using avg_QP of key frame if
      avg_QP of inter is less than active worst (even if key frame is
      not last frame).
      
      Instead fix the logic (as per the comment) to use the lower of
      active_worst_quality and avg_Q for inter as basis for GF/ARF
      active_best_quality (unless last frame was key frame).
      
      Increase in metrics: AvgPSNR/SSIM up by ~0.7/0.3 on ytlive set.
      
      Change-Id: I9a628378ec6684bfda9457ebfc2384ef6d8579f7
      3861b25b
  28. 09 Apr, 2016 1 commit
    • Debargha Mukherjee's avatar
      Step towards making the 2-pass cq mode perceptual · c47c460f
      Debargha Mukherjee authored
      Uses a metric on fraction of smooth blocks derived from first pass
      stats in a frame to adjust down the cq_level modestly in the cq mode.
      The current implementation does not add much complexity, and is
      fairly light in the adaptation.
      
      Change-Id: Ic484e810d5bd51b7bb6b8945f378c7c3d9d27053
      c47c460f
  29. 07 Apr, 2016 1 commit
    • Marco's avatar
      vp9: Some adjustments to scene-cut detection. · f6f54427
      Marco authored
      Change only affects 1 pass vbr mode, speed >=5.
      Increase min_thresh, decrease boost, and set a min/max
      value for gf_interval.
      
      Change-Id: I9c1e1a1ab0c5780064eb62714ee39a72ea4d2107
      f6f54427
  30. 31 Mar, 2016 1 commit