Reduce/Eliminate line buffer for loop-restoration.
This patch forces the vertical filtering for the top and bottom rows of a processing unit for the Wiener filter to not use border more than what is set in the WIENER_BORDER_VERT macro. This macro is currently set at 0 to eliminate line buffer completely, but it could be increased to 1 or 2 to use limited line buffers if the coding efficiency is affected too much with a 0 line-buffer. Also, for the sgr filter we added the option of using overlapping windows horizonttally and vertically to improve coding efficiency. The vertical border used is set by the SGRPROJ_BORDER_VERT macro, while the horizontal border can be set by the SGRPROJ_BORDER_HORZ macro set at 2, the max needed. Currently we do not recommend changing SGRPROJ_BORDER_HORZ below 2. The overall line buffer requirement for LR is twice the max of WIENER_BORDER_VERT and SGRPROJ_BORDER_VERT. Currently both are set as 0, eliminating line buffers completely. Also this patch extends borders consistently before CDEF / LR. Change-Id: Ie58a98c784a0db547627b9cfcf55f018c30e8e79
Showing with 321 additions and 185 deletions