1. A method comprising: performing motion compensation to generate a motion compensated prediction using a block from a previously coded frame; performing non-linear filtering on the motion compensated prediction in a transform domain with a non-linear filter as part of a fractional interpolation process to generate a motion compensated non-linear prediction, wherein performing non-linear filtering comprises applying a transform to the motion compensated prediction to obtain a first set of transform coefficients, percentage filtering each transform coefficient of the block by sorting the first set of transform coefficients based on magnitude and identifying a set of one or more transform coefficients to change to zero that are not within a largest percentage of transform coefficients, modifying the first set of transform coefficients to create a second set of transform coefficients by zeroing the transform coefficients in the set of one or more transform coefficients, and applying an inverse transform to the second set of transform coefficients to generate the motion compensated non-linear prediction; subtracting the motion compensated non-linear prediction from a block in a current frame to produce a residual frame; and coding the residual frame.