tree a993322ced801bed84f2d5757b5d343290bb4c4f
parent 697613f97915d032ba89a1dd9871483c6375f9e7
author Aniket Wanare <Aniket.wanare@ittiam.com> 1625725549 +0530
committer Wan-Teh Chang <wtc@google.com> 1626477798 +0000

Change the eval order of luma palette_size

The order of luma palette_size evaluation in
av1_rd_pick_palette_intra_sby() for sf
prune_palette_search_level=2 is changed from descending
followed by ascending order to ascending followed by
descending order in order to facilitate early exit based
on palette header rdcost.

This change is verified to be bit-exact for speed < 3 in good
and allintra encoding modes.

For allintra video encode (on screen content set),

          Instruction Count       BD-Rate Loss(%)
cpu-used     Reduction(%)   avg.psnr  ovr.psnr  ssim
   3          -0.040       -0.1802   -0.1811   -0.7997
   4          -0.055       -0.2912   -0.2835   -1.0394
   5           0.023       -0.3423   -0.3413   -1.0311
   6          -0.157       -0.3567   -0.3550   -0.7304

For good video encode (on screen content set),

          Instruction Count       BD-Rate Loss(%)
cpu-used     Reduction(%)   avg.psnr  ovr.psnr  ssim
   3          -1.034       -0.5324   -0.5500   -0.8091
   4           0.051       -0.1340   -0.1007   -0.1401
   5          -0.046        0.0997    0.0828    0.1359
   6          -0.252        0.0895    0.0500   -0.1844

For AVIF still image encode,

          Instruction Count    BD-Rate Loss(%)
cpu-used     Reduction(%)      psnr       ssim
   3           -0.004         -0.0030    -0.0116
   4            0.004         -0.0030    -0.0055
   5           -0.002         -0.0049    -0.0085
   6           -0.007         -0.0061    -0.0173

BUG=aomedia:3096

STATS_CHANGED

Change-Id: Ia26c826bc27d7ebf907f4e3c7512526e88b744af
