A method for filtering a video frame stored in a frame buffer based on a division of the video frame into a plurality of processing units, the method comprising: defining a start point for the video frame, the start point representing a location within the frame buffer corresponding to a location of a first pixel to filter; defining a writing point for the video frame, the writing point representing a location within the frame buffer extended beyond a boundary of the video frame and being shifted from said start point in two-dimensions; allocating a fixed size buffer having a size greater than a size of the processing units, wherein the fixed size of the buffer is configured for storing information associated with one of the processing units at a time; for each of the processing units, copying pre-filtered pixel values from a corresponding region of the video frame buffer to the fixed size buffer, wherein the corresponding region of the video frame is selected based on an offset applied to said writing point, wherein the offset specifies a two-dimensional distance from the writing point based on a number of processing units for which filtering has already been performed such that the offset is different for each of the processing units, and where the corresponding region has said size of the buffer and encompasses the processing unit, performing filtering against the pre-filtered pixel values within the fixed size buffer to produce filtered pixel values corresponding to the processing unit, and writing, from the fixed size buffer, the filtered pixel values to the video frame buffer based on the writing point, the offset, and the shift between the starting point and the writing point such that the filtered pixel values are written to respective locations of the video frame buffer shifted relative to their previous locations; and after the filtered pixel values are written to the video frame buffer for each of the processing units, outputting the video frame for display or storage. defining a start point for the video frame, the start point representing a location within the frame buffer corresponding to a location of a first pixel to filter; defining a writing point for the video frame, the writing point representing a location within the frame buffer extended beyond a boundary of the video frame and being shifted from said start point in two-dimensions; allocating a fixed size buffer having a size greater than a size of the processing units, wherein the fixed size of the buffer is configured for storing information associated with one of the processing units at a time; for each of the processing units, copying pre-filtered pixel values from a corresponding region of the video frame buffer to the fixed size buffer, wherein the corresponding region of the video frame is selected based on an offset applied to said writing point, wherein the offset specifies a two-dimensional distance from the writing point based on a number of processing units for which filtering has already been performed such that the offset is different for each of the processing units, and where the corresponding region has said size of the buffer and encompasses the processing unit, performing filtering against the pre-filtered pixel values within the fixed size buffer to produce filtered pixel values corresponding to the processing unit, and writing, from the fixed size buffer, the filtered pixel values to the video frame buffer based on the writing point, the offset, and the shift between the starting point and the writing point such that the filtered pixel values are written to respective locations of the video frame buffer shifted relative to their previous locations; and copying pre-filtered pixel values from a corresponding region of the video frame buffer to the fixed size buffer, wherein the corresponding region of the video frame is selected based on an offset applied to said writing point, wherein the offset specifies a two-dimensional distance from the writing point based on a number of processing units for which filtering has already been performed such that the offset is different for each of the processing units, and where the corresponding region has said size of the buffer and encompasses the processing unit, performing filtering against the pre-filtered pixel values within the fixed size buffer to produce filtered pixel values corresponding to the processing unit, and writing, from the fixed size buffer, the filtered pixel values to the video frame buffer based on the writing point, the offset, and the shift between the starting point and the writing point such that the filtered pixel values are written to respective locations of the video frame buffer shifted relative to their previous locations; and after the filtered pixel values are written to the video frame buffer for each of the processing units, outputting the video frame for display or storage.