1. 05 Sep, 2017 1 commit
  2. 15 Aug, 2017 2 commits
    • Jerome Jiang's avatar
      Clean up writing YUV files for debug purpose. · a153080b
      Jerome Jiang authored
      Change legacy vp8/9_write_yuv_frame to vpx_write_yuv_files.
      Delete some flags that can be enabled during build.
      To enable writing denoised YUV, use the following command line:
      CFLAGS='-DOUTPUT_YUV_DENOISED' ./configure
      For skinmap, use CFLAGS='-DOUTPUT_YUV_SKINMAP'
      Change-Id: I236974ac8b3cf279d20c4dc7f6162d8b480b6528
    • Marco's avatar
      vp9: Denoiser fix: use correct bsize for skin detection. · e9ccc6fe
      Marco authored
      Change-Id: I9d201fa3a4b00ebd147b57ed519fab8d59b0a802
  3. 10 Aug, 2017 1 commit
    • Jerome Jiang's avatar
      vp9 SVC: Fix the denoiser frame buffer management. · 0f8ebdde
      Jerome Jiang authored
      Change the denoiser frame buffer management for SVC to more generally
      handle the layer patterns in SVC (where last is not always refreshed).
      This change is only for SVC with denoising and is bitexact.
      Change-Id: Ic2b146a924cdf6e7114609158afa3d4880fe3fae
  4. 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
  5. 18 Jul, 2017 1 commit
  6. 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
  7. 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
  8. 11 May, 2017 1 commit
  9. 10 May, 2017 1 commit
  10. 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
  11. 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
  12. 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
  13. 29 Mar, 2017 1 commit
  14. 21 Mar, 2017 1 commit
  15. 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
  16. 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
  17. 07 Feb, 2017 1 commit
  18. 25 Jan, 2017 1 commit
  19. 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
  20. 02 Aug, 2016 1 commit
  21. 27 Jul, 2016 1 commit
  22. 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
    • 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
  23. 22 Apr, 2016 2 commits
  24. 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
  25. 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
    • 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
  26. 01 Apr, 2016 1 commit
  27. 28 Mar, 2016 1 commit
  28. 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
  29. 08 Feb, 2016 1 commit
  30. 29 Jan, 2016 1 commit
  31. 20 Jan, 2016 1 commit
  32. 15 Jan, 2016 1 commit
  33. 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
  34. 01 Dec, 2015 1 commit
  35. 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
  36. 24 Nov, 2015 1 commit