Fix tile independency issue in sb8x8
authorJingning Han <jingning@google.com>
Tue, 7 May 2013 04:53:00 +0000 (21:53 -0700)
committerJingning Han <jingning@google.com>
Tue, 7 May 2013 04:56:45 +0000 (21:56 -0700)
Resolved the unit test failure on tile independence when sb8x8
enabled.

Change-Id: I23ca86c88170e49ca160e8e897d913905e6080ce

vp9/decoder/vp9_decodemv.c
vp9/encoder/vp9_bitstream.c

index 408573f..c663244 100644 (file)
@@ -144,7 +144,8 @@ static void kfread_modes(VP9D_COMP *pbi, MODE_INFO *m,
     int i;
     for (i = 0; i < (16 >> (2 * CONFIG_SB8X8)); ++i) {
       const B_PREDICTION_MODE a = above_block_mode(m, i, mis);
-      const B_PREDICTION_MODE l = xd->left_available || (i & 3) ?
+      const B_PREDICTION_MODE l = xd->left_available ||
+                                  (i & (3 >> CONFIG_SB8X8)) ?
                                   left_block_mode(m, i) : B_DC_PRED;
       m->bmi[i].as_mode.first = read_kf_bmode(r, cm->kf_bmode_prob[a][l]);
     }
index 0d5de64..b6dd984 100644 (file)
@@ -914,7 +914,8 @@ static void write_mb_modes_kf(const VP9_COMP *cpi,
     int i = 0;
     do {
       const B_PREDICTION_MODE a = above_block_mode(m, i, mis);
-      const B_PREDICTION_MODE l = (xd->left_available || (i & 3)) ?
+      const B_PREDICTION_MODE l = (xd->left_available ||
+                                  (i & (3 >> CONFIG_SB8X8))) ?
                                   left_block_mode(m, i) : B_DC_PRED;
       const int bm = m->bmi[i].as_mode.first;