1. 15 Jan, 2016 1 commit
  2. 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
  3. 01 Dec, 2015 1 commit
  4. 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
  5. 24 Nov, 2015 1 commit
  6. 20 Nov, 2015 1 commit
  7. 11 Nov, 2015 1 commit
  8. 02 Nov, 2015 2 commits
  9. 27 Oct, 2015 2 commits
    • Marco's avatar
      Update to vp9-denoising. · 823a47ee
      Marco authored
      Set increase_denoising parameter for temporal filter.
      
      Change-Id: Id98bf160db98dfa9aedf76e20b43e6f7c783fb1c
      823a47ee
    • 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
  10. 26 Oct, 2015 1 commit
  11. 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
  12. 08 Oct, 2015 1 commit
  13. 07 Oct, 2015 2 commits
  14. 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
  15. 31 Aug, 2015 1 commit
  16. 27 Aug, 2015 1 commit
  17. 14 Aug, 2015 1 commit
  18. 08 Aug, 2015 1 commit
  19. 31 Jul, 2015 1 commit
    • Zoe Liu's avatar
      Code refactor on InterpKernel · 7186a2dd
      Zoe Liu authored
      It in essence refactors the code for both the interpolation
      filtering and the convolution. This change includes the moving
      of all the files as well as the changing of the code from vp9_
      prefix to vpx_ prefix accordingly, for underneath architectures:
      (1) x86;
      (2) arm/neon; and
      (3) mips/msa.
      The work on mips/drsp2 will be done in a separate change list.
      
      Change-Id: Ic3ce7fb7f81210db7628b373c73553db68793c46
      7186a2dd
  20. 29 Apr, 2015 1 commit
    • James Zern's avatar
      vpx_mem: remove vpx_memcpy · f274c219
      James Zern authored
      vestigial. replace instances with memcpy() which they already were being
      defined to.
      
      Change-Id: Icfd1b0bc5d95b70efab91b9ae777ace1e81d2d7c
      f274c219
  21. 21 Apr, 2015 1 commit
    • Scott LaVarnway's avatar
      Revert "Remove mi_grid_* structures." · 8b17f7f4
      Scott LaVarnway authored
      (see I3a05cf1610679fed26e0b2eadd315a9ae91afdd6)
      
      For the test clip used, the decoder performance improved by ~2%.
      This is also an intermediate step towards adding back the
      mode_info streams.
      
      Change-Id: Idddc4a3f46e4180fbebddc156c4bbf177d5c2e0d
      8b17f7f4
  22. 20 Feb, 2015 1 commit
  23. 28 Jan, 2015 1 commit
    • Marco's avatar
      Fix to vp9 denoiser. · c0923d4d
      Marco authored
      Prevent from using wrong mv for denoiser motion compensation.
      
      Change-Id: Ifa0f9daabdbdab0900d3c17304059fe0d15de914
      c0923d4d
  24. 21 Jan, 2015 1 commit
    • JackyChen's avatar
      Fix compile error in Chromium building. · 25a19b48
      JackyChen authored
      The comparison of address in the condition is not necessary, since
      they will constantly be non-null.
      
      Change-Id: Id0b0075283f5af65215d5761a8160a4cb2a15c9b
      25a19b48
  25. 16 Jan, 2015 1 commit
    • Jingning Han's avatar
      Fix frame buffer swap in denoiser · dfda5ceb
      Jingning Han authored
      This commit fixes a bug in denoiser reference frame buffer swap,
      which disables frame buffer update.
      
      Change-Id: I39a9427180fd18f9692602064ad821f7af4714c0
      dfda5ceb
  26. 08 Jan, 2015 4 commits
    • Jingning Han's avatar
      Refactor mc reference block fetch in denoiser · a0be730e
      Jingning Han authored
      This commit refactors the motion compensated reference block fetch
      process in denoiser. It skips the stage that generates motion
      compensated reference block if denoiser decides to use copy block
      mode. For high motion clips, this could speed up the denoising
      process by about 10%.
      
      Change-Id: I8ef4fa5fe766a8c4529119b9ec01faefb3d4ef53
      a0be730e
    • Jingning Han's avatar
      Use lookup table to find pixel numbers in block · e3f0b19f
      Jingning Han authored
      This could save one multiplication in each threshold funtion
      called by the denoiser per block.
      
      Change-Id: I35f437e09999f0a087180878ef7805f0d86e5819
      e3f0b19f
    • Jingning Han's avatar
      Refactor denoiser frame buffer update · ea061a88
      Jingning Han authored
      Use frame buffer pointer swap instead of memcpy when possible.
      These two CLs make the denoiser when running on vidyo1 720p at
      speed -6 over 10% faster.
      
      Change-Id: I64fe8a2422cafca6787a50c7f4dfb961191c0a9d
      ea061a88
    • Jingning Han's avatar
      Use vp9_convolve_copy in denoiser output · 29a5deb4
      Jingning Han authored
      Replace copy_block with vp9_convolve_copy for speed performance
      improvement.
      
      Change-Id: I3a08c4d01dff2253b6ee573efd02f65ccdc1b5a5
      29a5deb4
  27. 07 Jan, 2015 3 commits
    • Jingning Han's avatar
      Initalize zeromv_sse and newmv_sse in vp9_pick_inter_mode · e42b3ee7
      Jingning Han authored
      These two parameters are used to control the denoiser cut-off
      thresholds. They should be properly initialized when starting
      mode search of a given block.
      
      Change-Id: Iba8a25487026a0dbe0d350c347d7e4e4e237b637
      e42b3ee7
    • Jingning Han's avatar
      Fix denoiser chroma component initialization · 2fb9b635
      Jingning Han authored
      Use the correct frame size and stride value for chroma components
      when setting the initial values. These control parameters are
      assigned when the denoiser buffer was allocated and initialized.
      
      Change-Id: Ia6318194c7738aff540bcbd34f77f0dac46221a1
      2fb9b635
    • 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
  28. 15 Dec, 2014 2 commits
  29. 12 Dec, 2014 1 commit
    • Frank Galligan's avatar
      Add support for setting byte alignment. · 399823b6
      Frank Galligan authored
      Add support for setting byte alignment on the Y, U, and V plane of the
      reference buffers. The byte alignment must be a power of 2, from 32 to
      1024. A value of 0 sets legacy alignment.
      
      Change-Id: I7c1399622f7aa68e123646369216b32047dda73d
      399823b6
  30. 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
  31. 29 Sep, 2014 1 commit
    • JackyChen's avatar
      Fix a bug in calculating delta in VP9 denoiser. · 7ba646f7
      JackyChen authored
      When calculating delta in VP8 denoiser, since the block size is fixed to 16x16,
      the divisor is 256, which is the number of the pixel.
      But in VP9, the block size varies, the divisor should correspond to the block
      size.
      
      Change-Id: Ibdc1e5d23ba8c788b0d0dc6d406bcdfc34c1b142
      7ba646f7