A method for decoding video data, comprising: obtaining, from a bitstream, a plurality of image samples of a video frame, each image sample corresponding to one of a luma sample and a chroma sample; for each of the plurality of image samples, filtering a respective image sample using an adaptive loop filter having a filter length L and a set of filter coefficients, further including: identifying a set of related image samples of the respective image sample; for each of the set of related image samples, identifying a respective clip value index and a corresponding filter coefficient; clipping a difference between each of the set of related image samples and the respective image sample based on the respective clip value index, wherein the respective clip value index corresponds to a respective clipping boundary value equal to 2 to a power of a respective clipping number, and modifying the respective image sample with the clipped difference between each of the set of related image samples and the respective image sample based on the corresponding filter coefficient and reconstructing the video frame using the plurality of modified image samples characterized in that all respective clipping numbers corresponding to each respective clipping value index are integers. obtaining, from a bitstream, a plurality of image samples of a video frame, each image sample corresponding to one of a luma sample and a chroma sample; for each of the plurality of image samples, filtering a respective image sample using an adaptive loop filter having a filter length L and a set of filter coefficients, further including: identifying a set of related image samples of the respective image sample; for each of the set of related image samples, identifying a respective clip value index and a corresponding filter coefficient; clipping a difference between each of the set of related image samples and the respective image sample based on the respective clip value index, wherein the respective clip value index corresponds to a respective clipping boundary value equal to 2 to a power of a respective clipping number, and modifying the respective image sample with the clipped difference between each of the set of related image samples and the respective image sample based on the corresponding filter coefficient and reconstructing the video frame using the plurality of modified image samples characterized in that all respective clipping numbers corresponding to each respective clipping value index are integers. identifying a set of related image samples of the respective image sample; for each of the set of related image samples, identifying a respective clip value index and a corresponding filter coefficient; clipping a difference between each of the set of related image samples and the respective image sample based on the respective clip value index, wherein the respective clip value index corresponds to a respective clipping boundary value equal to 2 to a power of a respective clipping number, and modifying the respective image sample with the clipped difference between each of the set of related image samples and the respective image sample based on the corresponding filter coefficient and reconstructing the video frame using the plurality of modified image samples characterized in that all respective clipping numbers corresponding to each respective clipping value index are integers. <EOS>