summaryrefslogtreecommitdiff
path: root/vp9/encoder
diff options
context:
space:
mode:
authorRonald S. Bultje <rbultje@google.com>2013-05-02 13:00:33 -0700
committerRonald S. Bultje <rbultje@google.com>2013-05-02 13:01:09 -0700
commite931dac733665970949138933b73621e55b321cd (patch)
treebf8f84c2df6c13cbe680babf4d2f0a80fe4de12c /vp9/encoder
parent06df1f82fbec9edfdf596d86f5dd2e7ecba7de7e (diff)
downloadlibvpx-e931dac733665970949138933b73621e55b321cd.tar
libvpx-e931dac733665970949138933b73621e55b321cd.tar.gz
libvpx-e931dac733665970949138933b73621e55b321cd.tar.bz2
libvpx-e931dac733665970949138933b73621e55b321cd.zip
Fix i4x4 mode reading and writing in sb8x8 bitstream.
Don't allow i4x4 except for sb8x8 recursion step. Read only 4 (not 16) i4x4 submodes if we are i4x4. Change-Id: Iaaaced1a134006b2c96eed66f014300eae41e0ed
Diffstat (limited to 'vp9/encoder')
-rw-r--r--vp9/encoder/vp9_bitstream.c4
-rw-r--r--vp9/encoder/vp9_encodeframe.c7
2 files changed, 10 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_bitstream.c b/vp9/encoder/vp9_bitstream.c
index f8e273364..197a49939 100644
--- a/vp9/encoder/vp9_bitstream.c
+++ b/vp9/encoder/vp9_bitstream.c
@@ -722,7 +722,11 @@ static void pack_inter_mode_mvs(VP9_COMP *cpi, MODE_INFO *m,
active_section = 6;
#endif
+#if CONFIG_SB8X8
+ if (m->mbmi.sb_type > BLOCK_SIZE_SB8X8)
+#else
if (m->mbmi.sb_type > BLOCK_SIZE_MB16X16)
+#endif
write_sb_ymode(bc, mode, pc->fc.sb_ymode_prob);
else
write_ymode(bc, mode, pc->fc.ymode_prob);
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c
index 0642c31bd..9e77f8125 100644
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -2073,7 +2073,12 @@ static void sum_intra_stats(VP9_COMP *cpi, MACROBLOCK *x) {
#endif
#endif
- if (xd->mode_info_context->mbmi.sb_type > BLOCK_SIZE_MB16X16) {
+#if CONFIG_SB8X8
+ if (xd->mode_info_context->mbmi.sb_type > BLOCK_SIZE_SB8X8)
+#else
+ if (xd->mode_info_context->mbmi.sb_type > BLOCK_SIZE_MB16X16)
+#endif
+ {
++cpi->sb_ymode_count[m];
} else {
++cpi->ymode_count[m];