1. 31 Jul, 2017 1 commit
    • Marco's avatar
      vp9: Fix denoising condition when pickmode partition is used. · 999bd6ea
      Marco authored
      When the superblock partition is based on the nonrd-pickmode,
      we need to avoid the denoising. Current condition was based on
      the speed level. This change is to make the condition at the
      superblock level, as the switch in partitioning may be done at
      sb level based on source_sad (e.g., in speed 6).
      
      Change-Id: I12ece4f60b93ed34ee65ff2d6cdce1213c36de04
      999bd6ea
  2. 18 Jul, 2017 1 commit
  3. 11 Jul, 2017 1 commit
    • Marco's avatar
      vp9: Fix to SVC and denoising for fixed pattern case. · 3818a372
      Marco authored
      For fixed pattern SVC: keep track of denoised last_frame buffer
      for base temporal layer, and if alt_ref is updated on middle/upper
      temporal layers, force an update to denoised last_frame buffer.
      This allows for improved denoising on top temporal layers.
      
      Change-Id: Icbd08566027d4d2eabc024d3b7a0d959d2f8c18b
      3818a372
  4. 10 Jul, 2017 1 commit
    • Jerome Jiang's avatar
      vp9: Remove alt-ref from denoiser. · 2ac7c549
      Jerome Jiang authored
      Denoiser is used in real-time mode which does not use alt-ref.
      Reduce memory usage when denoiser is enabled.
      
      Change-Id: I54ba3bcaeeb1818bbdf718ef90e97d4897ff793d
      2ac7c549
  5. 11 May, 2017 1 commit
  6. 10 May, 2017 1 commit
  7. 25 Apr, 2017 1 commit
    • Marco's avatar
      vp9; Reduce artifact in non-rd pickmode for lighting changes. · 92ec0674
      Marco authored
      Add a low-variance high-sumdiff to the superblock content state
      and use it to limit the mv and bias some decisions in non-rd pickmode.
      Only affects speed >= 6.
      
      Reduces artifact for lighting changes.
      Small/no difference in metrics on RTC set.
      
      Change-Id: Ic84b2379fe0ae3fa71ae826ee6bae3eaf551a25b
      92ec0674
  8. 06 Apr, 2017 1 commit
    • Marco's avatar
      vp9; Move the denoising condition for speed 5. · 3227a9be
      Marco authored
      Move the condition for effectively disabling the denoising
      for speed 5 into the vp9_denoiser_denoise().
      
      This is cleaner, and also moving the condition into vp9_denoiser_denoise
      will keep the denoiser buffer updated with the current source.
      This allows for more consistent behavior if speed is changed midstream.
      
      Change-Id: Ia001f591c56e454bf724c3ae73c024badb183ef8
      3227a9be
  9. 31 Mar, 2017 1 commit
    • Marco's avatar
      vp9: SVC: Fix issue with artifact for svc-denoising. · c824eda6
      Marco authored
      Issue/bug happens for denoising with spatial layers, where
      the golden (spatial) reference is used in pickmode, but
      denoising is only done wrt to last (temporal).
      
      Fix is to make sure set_ref_ptrs is set before build predictors
      in denoiser.
      
      Change-Id: I793cf441341edf7c4a88b8ab1e1b22b3cb0eb508
      c824eda6
  10. 29 Mar, 2017 1 commit
  11. 21 Mar, 2017 1 commit
  12. 16 Mar, 2017 1 commit
    • Marco's avatar
      vp9: Fix some issues with denoiser and SVC. · a340c64a
      Marco authored
      Fix the update of the denoiser buffer when the base
      spatial layer is a key frame. And allow for better/lower
      QP on high spatial layers when their base layer is key frame.
      
      Change-Id: I96b2426f1eaa43b8b8d4c31a68b0c6d68c3024a2
      a340c64a
  13. 22 Feb, 2017 1 commit
    • Marco's avatar
      vp9: Incorporate source sum_diff into non-rd partition thresholds. · 7f2daa74
      Marco authored
      Increase the variance partition thresholds for superblocks that
      have low sum-diff (from source analysis prior to encoding frame).
      Use it for now only for speed >= 7 or for denoising on.
      
      Small change on metrics for rtc set: less than ~0.1 avgPNSR decrease
      on RTC set, for both speed 7 and 8.
      
      Change-Id: I38325046ebd5f371f51d6e91233d68ff73561af1
      7f2daa74
  14. 07 Feb, 2017 1 commit
  15. 25 Jan, 2017 1 commit
  16. 11 Jan, 2017 1 commit
    • Marco's avatar
      vp9: Make the denoiser work with spatial SVC. · 7e3a82c3
      Marco authored
      If enabled denoiser will only denoise the top spatial layer for now.
      
      Added unittest for SVC with denoising.
      
      Change-Id: Ifa373771c4ecfa208615eb163cc38f1c22c6664b
      7e3a82c3
  17. 02 Aug, 2016 1 commit
  18. 27 Jul, 2016 1 commit
  19. 25 Apr, 2016 2 commits
    • JackyChen's avatar
      vp9: Fix a bug where best_sse_mv is not set properly. · 57c7c116
      JackyChen authored
      In VP9 internal denoiser, motion magnitude is computed from
      best_sse_mv, which should be set to 0 at the begining. This bug may
      cause visual aritifact in denoiser. Also, delete two improper comments.
      
      Change-Id: I8710d2acba23320bc85cf72af17d65245c19438b
      57c7c116
    • Marco's avatar
      vp9-denoiser: Bugfix and some adjustments for high noise case. · 229c686c
      Marco authored
      Need to check that sse for non-zero mv has been set for the current block
      (i.e., check that nonzero-mv is tested as a mode, so newmv_sse != UINT_MAX)
      before forcing to not use zero-mv for denoising.
      
      Also increase some thresholds (sse and sse_diff) for high noise case,
      and use shift operaton instead of multiplication on a threshold computation.
      
      Change-Id: Iae7339475d57240316b7fa8b887c4ee3c0d0dbec
      229c686c
  20. 22 Apr, 2016 2 commits
  21. 05 Apr, 2016 1 commit
    • Marco's avatar
      vp9-denoiser: Avoid copy-block when denoising is at LowLow level. · ac86dde3
      Marco authored
      Avoid copy-block when denoising is at LowLow level (i.e., no denoising is done).
      Instead, don't enter denoiser at all, and when level goes back up over kLowLow
      do a reset in denoiser.
      
      Change-Id: I0544adf58f4dd51ecc4a4607fcb0353bfbbb7a59
      ac86dde3
  22. 04 Apr, 2016 2 commits
    • Marco's avatar
      vp9-noise estimation: Increase threshold for Low-level. · 9ff73fe0
      Marco authored
      This make it more likely clean/low-noise content will
      be set as LowLow, and hence no denoising will be done.
      Also set early exit on denoising for small blocks.
      
      Change-Id: I4a72bba3e6c5e2d523d304c39deacc9c39bf216c
      9ff73fe0
    • Marco's avatar
      vp9-denoiser. Code cleanup and bugfix. · a2307ff0
      Marco authored
      Some cleanup and bugfix: pass mi_row/mi_col (not mv_col/mv_row)
      to build_inter_predictors. This only affects case where
      the frame is resized, but since denoising is not done on resized
      frames, the fix has not effect currently.
      
      Change-Id: I36617a7f0b43b6f49976745f15d400977e6ffa46
      a2307ff0
  23. 01 Apr, 2016 1 commit
  24. 28 Mar, 2016 1 commit
  25. 17 Mar, 2016 1 commit
    • Marco's avatar
      vp9: Improvement to skin detection. · ce39add4
      Marco authored
      Add consec_zeromv to skin detection.
      Reduces false detection in steady background areas.
      
      Change-Id: Ic31c831537d29f082f58477f82ed78f313d7dd30
      ce39add4
  26. 08 Feb, 2016 1 commit
  27. 29 Jan, 2016 1 commit
  28. 20 Jan, 2016 1 commit
  29. 15 Jan, 2016 1 commit
  30. 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
  31. 01 Dec, 2015 1 commit
  32. 25 Nov, 2015 1 commit
    • Marco's avatar
      vp9 denoiser: Re-evaluate ZEROMV after denoiser filtering. · 5b0ddb93
      Marco authored
      For denoising, and for noise level above threshold, re-evaluate
      ZEROMV for mode selection after denoising.
      Current change only does this check if selected best mode (before denoising)
      was intra.
      
      Change-Id: I4b1435b68d26c78f7597b995ee7bff0ddd5f9511
      5b0ddb93
  33. 24 Nov, 2015 1 commit
  34. 20 Nov, 2015 1 commit
  35. 11 Nov, 2015 1 commit
  36. 02 Nov, 2015 2 commits