Skip to content
  • David Barker's avatar
    loop-restoration: Remove special case in Wiener filter · 3acd3b5c
    David Barker authored
    Remove the special case handling for the topmost/bottommost
    rows in each processing unit. This causes slightly different
    effects depending on whether striped-loop-restoration is enabled.
    With striped-loop-restoration:
      Now that we explicitly fill out 3 rows of above/below pixels
      for each stripe, we don't need to use stepdown_wiener_kernel.
      Instead, the duplication of the topmost/bottommost pixels
      accomplishes the same task, while making the code much cleaner.
      This patch should not cause a change in output, except in a
      couple of cases which were already questionable. In particular,
      it fixes bug #953, where the Wiener filter could not handle
      small processing units (<4 rows high)
    Without striped-loop-restoration:
      The Wiener filter returns to using a full 3 pixels above/below
      the processing unit. In order to make sure there are enough
      pixels, we need to expand WIENER_BORDER_VERT to 3 pixels.
      This will result in a slight change in output, but should be
      fairly minor.
    Change-Id: I9530ef55909246f7ba488b7ecfd92d59e776b2f9