1. 07 Jan, 2017 1 commit
  2. 06 Jan, 2017 1 commit
    • Debargha Mukherjee's avatar
      Add UV wiener loop restoration · a43a2d98
      Debargha Mukherjee authored
      Enables Wiener based loop restoration only for the UV
      frames. The selfguided and domaintranform filters do not
      work very well for UV components, hence they are disabled.
      For each UV frame a single set of wiener parameters are
      sent. They are applied tile-wise, but all tiles use the
      same parameters.
      
      BDRATE (Global PSNR) results:
      -----------------------------
      lowres: -1.266% (up from -0.666%, good improvement)
      midres: -1.815% (up from -1.792%, tiny improvement)
      
      Tiling on UV components will be explored subsequently.
      
      Change-Id: Ib5be93121c4e88e05edf3c36c46488df3cfcd1e2
      a43a2d98
  3. 04 Jan, 2017 1 commit
    • David Barker's avatar
      Simplify buffer management for self-guided restoration filter · 3a0df186
      David Barker authored
      * Remove some unused variables
      * Reduce need for casts by typing intermediate buffers appropriately
      * Avoid copying data which is never modified; use the original data
        instead.
      * Reduce number of intermediate buffers required, saving allocations
        of 576KiB in the decoder and ~1MiB in the encoder
      
      No effect on performance
      
      Change-Id: I55243904dd8e818fb6d43fa431903736475d23ff
      3a0df186
  4. 16 Dec, 2016 2 commits
  5. 15 Dec, 2016 2 commits
  6. 14 Dec, 2016 1 commit
  7. 12 Dec, 2016 1 commit
    • Debargha Mukherjee's avatar
      Replace bilateral filter with domain transform RF · 0e67b25c
      Debargha Mukherjee authored
      The main objective is to reduce computational complexity.
      The domain transform filter has an effect of edge preserving smoothing
      at a lower computational cost than the bilateral filter, and can be
      readily paralelized.
      
      A little drop in coding efficiency about 0.06% for lowres, 0.16% for
      midres.
      
      Change-Id: Id949406b7e5afe9b64588d130065c63a76e4f3f9
      0e67b25c
  8. 06 Dec, 2016 1 commit
    • Debargha Mukherjee's avatar
      Add domain transform recursive filter · 3981be93
      Debargha Mukherjee authored
      This filter is meant to replace the bilateral filter,
      but is currently added in addition to the bilateral filter
      for testing.
      
      Change-Id: Ia529701e69833d47c11b3367d5bf804eb8498079
      3981be93
  9. 29 Nov, 2016 1 commit
  10. 10 Nov, 2016 1 commit
  11. 19 Oct, 2016 1 commit
  12. 21 Sep, 2016 1 commit
  13. 17 Sep, 2016 1 commit
    • Debargha Mukherjee's avatar
      Enable tile-adaptive restoration · 5cd2ab95
      Debargha Mukherjee authored
      Includes a major refactoring/enhancement to support
      tile-adaptive switchable restoration. The framework can be
      readily extended to add more restoration schemes in the
      future. Also includes various cleanups and fixes.
      
      Specifically the framework allows restoration to be conducted
      on tiles such that each tile can be either left unrestored, or
      use bilateral or wiener filtering.
      
      There is a modest improvemnt in coding efficiency (0.1 - 0.2%).
      
      Further enhancements will be added subsequently to improve coding
      efficiency and complexity.
      
      Change-Id: I5ebedb04785ce1ef6f324abe209e925c2d6cbe8a
      5cd2ab95
  14. 01 Sep, 2016 2 commits
  15. 29 Aug, 2016 1 commit
    • Aamir Anis's avatar
      Tiling in loop restoration + cosmetics · e40e6e57
      Aamir Anis authored
      Frame can be split into rectangular tiles for application of separate
      bilateral or Wiener filters per tile. Some variable names changed for
      better readability.
      
      Change-Id: I13ebc4d0b0baf368e524db5ce276f03ed76af9c8
      e40e6e57
  16. 25 Aug, 2016 1 commit
  17. 12 Aug, 2016 1 commit
  18. 12 Jul, 2016 1 commit
    • Aamir Anis's avatar
      Fix for loop filter selection procedure · 8575709f
      Aamir Anis authored
      Fixed best error reported by loop filter selection, this value is used
      during loop restoration to pick best mode. Baseline remains unchanged,
      change in BDRate for loop restoration experiment:
      -0.628 -> -0.625 for lowres,
      -1.262 -> -1.283 for highres.
      
      Change-Id: I69ef1608bc232b250ac46f59e31fdbed1a999dcd
      8575709f
  19. 07 Jul, 2016 1 commit
  20. 14 Jun, 2016 1 commit
    • Geza Lore's avatar
      Disable loop restoration when LPF_PICK_MINIMAL_LPF. · 3cf3ce94
      Geza Lore authored
      The speed feature sf->lpf_picl == LPF_PICK_MINIMAL_LPF is used
      to disable loop filtering. This did not work with the loop-restoration
      experiment, but now it is respected.
      
      Note that this speed feature is only used in real-time cpu-used >= 8
      settings.
      
      Change-Id: I193723c9ac5f802ec31d8c8b4d37650796e065fd
      3cf3ce94
  21. 06 Jun, 2016 1 commit
    • Aamir Anis's avatar
      Updated loop restoration · 99d9a8fe
      Aamir Anis authored
      1. Wiener restoration filter now has normalization and evaluation of
      quantization procedure.
      2. Corrected scaling of bits in RD cost computation.
      3. Changed dynamic range and number of bits for Wiener filter.
      Observed gains: Overall 0.58% for low_res, 0.7% for mid_res sequences.
      
      Change-Id: I8928b3ea493bfe1790926b00388d6c4bafc08e19
      99d9a8fe
  22. 11 Mar, 2016 1 commit
  23. 17 Feb, 2016 1 commit
  24. 12 Feb, 2016 1 commit
    • Debargha Mukherjee's avatar
      Adding loop wiener restoration · 8b0a5b87
      Debargha Mukherjee authored
      Adds a wiener filter based restoration scheme in loop which can
      be optionally selected instead of the bilateral filter.
      
      The LMMSE filter generated per frame is a separable symmetric 7
      tap filter. Three parameters for each of horizontal and vertical
      filters are transmitted in the bitstream. The fourth parameter
      is obtained assuming the sum is normalized to 1.
      Also integerizes the bilateral filters, along with other
      refactoring necessary in order to support the new switchable
      restoration type framework.
      
      derflr: -0.75% BDRATE
      
      [A lot of videos still prefer bilateral, however since many frames
      now use the simpler separable filter, the decoding speed is
      much better].
      
      Further experiments to follow, related to replacing the bilateral.
      
      Change-Id: I6b1879983d50aab7ec5647340b6aef6b22299636
      8b0a5b87