A method of filtering to remove
coding artifacts introduced at block edges in a block-based video coder, the method having the steps of: checking the content activity on every line of samples belonging to a boundary to be filtered and where content activity is based on a set of adaptively selected thresholds determined using Variable-Shift Table Indexing (VSTI); determining whether the filtering process will modify the sample values on that particular line based on said content activity, and selecting a filtering mode between at least two filtering
modes to apply on a block boundary basis, implying that there would be no switching between the two primary
modes on a line by line basis along a given block boundary. The two filtering
modes include a default mode based on a non-
recursive filter, and a strong filtering mode which features two strong filtering sub-modes and a new
selection criterion that is one-sided with respect to the block boundary to determine which of the two strong filtering sub-modes to use. The two strong filtering sub-modes include a new 3-tap filter sub-mode and a 5-tap filter sub-mode that permits a more efficient implementation of the filter.