1. 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
      0f8ebdde
  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. 21 Mar, 2017 1 commit
  7. 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
  8. 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
  9. 07 Feb, 2017 1 commit
  10. 02 Aug, 2016 1 commit
  11. 19 May, 2016 1 commit
    • JackyChen's avatar
      vp9: Refactor some denoiser logic in vp9_pick_inter_mode. · af0a9fcf
      JackyChen authored
      Move the logic for rechecking zeromv on denoised block out to simplify
      the function. To simplify the param passing, add a new structure
      VP9_PICKMODE_CTX_DEN which is only used when denoiser is enabled.
      
      Change-Id: Iaa9b4396dfcb8147236c02d4a1868a09103a4476
      af0a9fcf
  12. 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
  13. 28 Mar, 2016 1 commit
  14. 02 Feb, 2016 1 commit
  15. 20 Jan, 2016 1 commit
  16. 01 Dec, 2015 1 commit
  17. 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
  18. 11 Nov, 2015 1 commit
  19. 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
  20. 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
  21. 26 Oct, 2015 1 commit
  22. 23 Oct, 2015 1 commit
    • Marco's avatar
      VP9: Estimate noise level for denoiser. · d162934b
      Marco authored
      Periodically estiamte noise level in source, and only denoise
      if estimated noise level is above threshold.
      
      Change-Id: I54f967b3003b0c14d0b1d3dc83cb82ce8cc2d381
      d162934b
  23. 08 Oct, 2015 1 commit
  24. 02 Oct, 2015 1 commit
    • Marco's avatar
      Fix to denoiser with dynamic resize. · 86ede509
      Marco authored
      Temporary fix to denoiser when dynamic resizing is on.
       -Reallocate denoiser buffers on resized frame.
       -Force golden update on resized frame.
       -Don't denoise resized frame, and copy source into denoised buffers.
      
      Change-Id: Ife7638173b76a1c49eac7da4f2a30c9c1f4e2000
      86ede509
  25. 08 Aug, 2015 1 commit
  26. 07 Jan, 2015 1 commit
    • Jingning Han's avatar
      Skip duplicate denoiser frame buffer allocation · 27582e57
      Jingning Han authored
      Allocate the frame buffer allocation for denoiser once during the
      encoder initialization. This avoids allocating frame buffer
      multiple times and overwriting the buffer pointer without proper
      releasing.
      
      Change-Id: I9b3baa6283449d86fd164534d344c036bb035700
      27582e57
  27. 06 Oct, 2014 1 commit
    • JackyChen's avatar
      Add SSE2 code and unit test for VP9 denoiser. · 80465dae
      JackyChen authored
      This SSE2 is based on VP8 denoiser's SSE2 code. In VP8, there are
      only 16x16 blocks in denoiser, while in VP9, there are 13 different
      block sizes.
      
      By adding this SSE2 code, the improvement of encoder speed is around
      20%(using C code vs using SSE2 code), vary for different clips.
      
      The unit test for VP9 denoiser is to confirm that the SSE2 code is
      bit-exact with the C code. The unit test covers all block size.
      
      Change-Id: Ic8d8ac26db4ea40a5f146b5678a065af07eaaa3d
      80465dae
  28. 10 Sep, 2014 1 commit
  29. 04 Sep, 2014 1 commit
    • JackyChen's avatar
      Map motion magnitude in VP9 denoiser. · b1153f34
      JackyChen authored
      This is to keep the same with VP8 denoiser.
      If motion magnitude is small,
      make denoiser more aggressive.
      
      Change-Id: I942a6e2f2ed9aec6f0c4c1f9e5fa47066cadcc0c
      b1153f34
  30. 02 Sep, 2014 1 commit
    • Deb Mukherjee's avatar
      Adds config opt for highbitdepth + misc. vpx · 5acfafb1
      Deb Mukherjee authored
      Adds config parameter vp9_highbitdepth, to support highbitdepth profiles.
      Also includes most vpx level high bit-depth functions. However
      encode/decode in the highbitdepth profiles will not work until
      the rest of the code is in place.
      
      Change-Id: I34c53b253c38873611057a6cbc89a1361b8985a6
      5acfafb1
  31. 22 Aug, 2014 1 commit
  32. 15 Jul, 2014 1 commit
    • Tim Kopp's avatar
      VP9 Denoiser denoises after mode/bsize search · 03819ed9
      Tim Kopp authored
      In vp8, statistics are collected about the different modes as they are searched.
      This process is more complicated due to the variable block size. Fields were
      added to the PICM_MODE_CONTEXT struct to hold this information for each point in
      the search. The information is then taken from the appropriate part of the tree
      during denoising.
      
      Change-Id: I89261ab77ad637821287ae157dfdf694702b8e77
      03819ed9
  33. 01 Jul, 2014 1 commit
  34. 27 Jun, 2014 1 commit
  35. 19 Jun, 2014 1 commit
  36. 18 Jun, 2014 1 commit
  37. 12 Jun, 2014 1 commit