Palette: Don't store tokens for pixels outside image boundary.
If part of a block falls outside right and/or bottom image boundary, then only store tokens for the part of it within the boundary. Also, consider only the part of the block within the boundary when calculating the number of colors in the image, deciding the base colors for palette, RD calculation etc. The part of color map corresponding to pixels outside the image boundary is padded with color indices copied from same row/column. This behavior is similar to how pixels outside the boundary are padded. For screen_content set, this is improves compression performance by 0.038 overall. One clip, in particular, has a significant gain of 0.8. Change-Id: I745ca032f313c5041aacc98c03ae4bfc33d840de
Showing with 125 additions and 54 deletions