NEW_MULTISYMBOL: use CDFs for palette tree coding.
AWCY results, 1 frame, tune-content=1
objective-1-fast:
PSNR (Y, Cb, Cr) : -0.26%, -0.24%, -0.26%
PSNR-HVS : -0.26%
MS-SSIM : -0.25%
screenshots:
PSNR (Y, Cb, Cr) : -2.28%, -2.29%, -2.29%
PSNR-HVS : -2.30%
MS-SSIM : -2.26%
twitch-1 :
PSNR (Y, Cb, Cr) : -0.73%, -0.73%, -0.73%
PSNR-HVS : -0.75%
MS-SSIM : -0.74%
Change-Id: I7aac475710ab3895778d7ff05d9113f5713133b1
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c
index 9f42d06..b2b93e6 100644
--- a/av1/decoder/decodemv.c
+++ b/av1/decoder/decodemv.c
@@ -825,10 +825,17 @@
[palette_y_mode_ctx],
ACCT_STR)) {
pmi->palette_size[0] =
+#if CONFIG_NEW_MULTISYMBOL
+ aom_read_symbol(r,
+ xd->tile_ctx->palette_y_size_cdf[bsize - BLOCK_8X8],
+ PALETTE_SIZES, ACCT_STR) +
+ 2;
+#else
aom_read_tree(r, av1_palette_size_tree,
av1_default_palette_y_size_prob[bsize - BLOCK_8X8],
ACCT_STR) +
2;
+#endif
n = pmi->palette_size[0];
#if CONFIG_PALETTE_DELTA_ENCODING
read_palette_colors_y(xd, cm->bit_depth, pmi, r);
@@ -847,10 +854,17 @@
if (aom_read(r, av1_default_palette_uv_mode_prob[palette_uv_mode_ctx],
ACCT_STR)) {
pmi->palette_size[1] =
+#if CONFIG_NEW_MULTISYMBOL
+ aom_read_symbol(r,
+ xd->tile_ctx->palette_uv_size_cdf[bsize - BLOCK_8X8],
+ PALETTE_SIZES, ACCT_STR) +
+ 2;
+#else
aom_read_tree(r, av1_palette_size_tree,
av1_default_palette_uv_size_prob[bsize - BLOCK_8X8],
ACCT_STR) +
2;
+#endif
n = pmi->palette_size[1];
#if CONFIG_PALETTE_DELTA_ENCODING
read_palette_colors_uv(xd, cm->bit_depth, pmi, r);