-
David Barker authored
* Setup and restore the correct number of left/right boundary pixels at vertical tile edges, and save them in the correct buffers. Also fix the restore process in high-bitdepth mode. * When loop filtering across tiles is enabled, we were previously acting inconsistently at horizontal tile borders: The stripe just above the boundary would use CDEF pixels from the tile below for context, while the stripe just below would use deblocked pixels from the stripe above. The intended design appears to have been to use CDEF pixels on both sides (so we logically have a 64-pixel high stripe, it's just split into an 8-pixel and a 56-pixel high stripe in order to keep the coefficient sets aligned to tiles) Implement that behaviour by disabling the context setup process when at a horizontal tile border. * Pull some common calculations out of {setup,restore}_processing_stripe_boundary and into their common caller. This allows us to reduce the number of arguments going into each function and their internal complexity. * Add more design comments around stripe boundary setup, as there are quite a lot of constraints to be aware of Change-Id: Ic1586c149b7f764b9c1a711df3f11fb0f130b38a
16ff7ef3