ref: 1e26cdc178e6731b2e8bf8db882f6fb15c7021d5
parent: c8de931e06cbd71e976a9e0618e42930b71aac88
parent: 168d313888ed8f2e752b96b1adf5d2d83d15c056
author: Jingning Han <jingning@google.com>
date: Thu May 2 10:32:57 EDT 2013
Merge "Cache splitmv motion vectors appropriately in decoder." into experimental
--- a/vp9/decoder/vp9_decodemv.c
+++ b/vp9/decoder/vp9_decodemv.c
@@ -676,7 +676,12 @@
if (vp9_segfeature_active(xd, mbmi->segment_id, SEG_LVL_SKIP)) {
mbmi->mode = ZEROMV;
} else {
- mbmi->mode = mbmi->sb_type > BLOCK_SIZE_MB16X16 ?
+ mbmi->mode =
+#if CONFIG_SB8X8
+ mbmi->sb_type > BLOCK_SIZE_SB8X8 ?
+#else
+ mbmi->sb_type > BLOCK_SIZE_MB16X16 ?
+#endif
read_sb_mv_ref(r, mv_ref_p)
: read_mv_ref(r, mv_ref_p);
vp9_accum_mv_refs(cm, mbmi->mode, mbmi->mb_mode_context[ref_frame]);
@@ -866,7 +871,11 @@
}
*/
-#if !CONFIG_SB8X8
+#if CONFIG_SB8X8
+ mi->bmi[j].as_mv[0].as_int = blockmv.as_int;
+ if (mbmi->second_ref_frame > 0)
+ mi->bmi[j].as_mv[1].as_int = secondmv.as_int;
+#else
{
/* Fill (uniform) modes, mvs of jth subset.
Must do it here because ensuing subsets can
--- a/vp9/encoder/vp9_bitstream.c
+++ b/vp9/encoder/vp9_bitstream.c
@@ -714,7 +714,12 @@
// If segment skip is not enabled code the mode.
if (!vp9_segfeature_active(xd, segment_id, SEG_LVL_SKIP)) {
- if (mi->sb_type > BLOCK_SIZE_MB16X16) {
+#if CONFIG_SB8X8
+ if (mi->sb_type > BLOCK_SIZE_SB8X8)
+#else
+ if (mi->sb_type > BLOCK_SIZE_MB16X16)
+#endif
+ {
write_sb_mv_ref(bc, mode, mv_ref_p);
} else {
write_mv_ref(bc, mode, mv_ref_p);
--
⑨