summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2015-10-01 10:45:46 -0400
committerRonald S. Bultje <rsbultje@gmail.com>2015-10-12 17:51:01 -0400
commit00170953b1b9920a92717097b3606281b5fe3f08 (patch)
tree102ba5049a20c29c96811541b187dc9841587b9a
parent5f589826f3e220f205a3cee2b441fab19464ffa7 (diff)
downloadlibvpx-00170953b1b9920a92717097b3606281b5fe3f08.tar
libvpx-00170953b1b9920a92717097b3606281b5fe3f08.tar.gz
libvpx-00170953b1b9920a92717097b3606281b5fe3f08.tar.bz2
libvpx-00170953b1b9920a92717097b3606281b5fe3f08.zip
vp10: allow forward updates for uv_mode probabilities.
See issue 1040 point 4. Change-Id: I79e06bd71a27f45770c760c47dc71bc3767a77a0
-rw-r--r--vp10/decoder/decodeframe.c6
-rw-r--r--vp10/encoder/bitstream.c6
2 files changed, 12 insertions, 0 deletions
diff --git a/vp10/decoder/decodeframe.c b/vp10/decoder/decodeframe.c
index 248912ded..b4c75ea7d 100644
--- a/vp10/decoder/decodeframe.c
+++ b/vp10/decoder/decodeframe.c
@@ -2145,6 +2145,12 @@ static int read_compressed_header(VP10Decoder *pbi, const uint8_t *data,
for (i = 0; i < INTRA_MODES - 1; ++i)
vp10_diff_update_prob(&r, &fc->y_mode_prob[j][i]);
+#if CONFIG_MISC_FIXES
+ for (j = 0; j < INTRA_MODES; j++)
+ for (i = 0; i < INTRA_MODES - 1; ++i)
+ vp10_diff_update_prob(&r, &fc->uv_mode_prob[j][i]);
+#endif
+
for (j = 0; j < PARTITION_CONTEXTS; ++j)
for (i = 0; i < PARTITION_TYPES - 1; ++i)
vp10_diff_update_prob(&r, &fc->partition_prob[j][i]);
diff --git a/vp10/encoder/bitstream.c b/vp10/encoder/bitstream.c
index 3269fc7c5..c32ad6820 100644
--- a/vp10/encoder/bitstream.c
+++ b/vp10/encoder/bitstream.c
@@ -1291,6 +1291,12 @@ static size_t write_compressed_header(VP10_COMP *cpi, uint8_t *data) {
prob_diff_update(vp10_intra_mode_tree, cm->fc->y_mode_prob[i],
counts->y_mode[i], INTRA_MODES, &header_bc);
+#if CONFIG_MISC_FIXES
+ for (i = 0; i < INTRA_MODES; ++i)
+ prob_diff_update(vp10_intra_mode_tree, cm->fc->uv_mode_prob[i],
+ counts->uv_mode[i], INTRA_MODES, &header_bc);
+#endif
+
for (i = 0; i < PARTITION_CONTEXTS; ++i)
prob_diff_update(vp10_partition_tree, fc->partition_prob[i],
counts->partition[i], PARTITION_TYPES, &header_bc);