Pass above/left ctx plane_bsize to av1_optimize_b

This is to facilitate lv_map experiment

Change-Id: Ife779b172c4b81a9b2b4640464163300996e3969
diff --git a/av1/encoder/encodemb.c b/av1/encoder/encodemb.c
index 4199906..5fd265a 100644
--- a/av1/encoder/encodemb.c
+++ b/av1/encoder/encodemb.c
@@ -803,13 +803,21 @@
 #endif  // USE_GREEDY_OPTIMIZE_B
 
 int av1_optimize_b(const AV1_COMMON *cm, MACROBLOCK *mb, int plane, int block,
-                   TX_SIZE tx_size, int ctx) {
+                   BLOCK_SIZE plane_bsize, TX_SIZE tx_size,
+                   const ENTROPY_CONTEXT *a, const ENTROPY_CONTEXT *l) {
   MACROBLOCKD *const xd = &mb->e_mbd;
   struct macroblock_plane *const p = &mb->plane[plane];
   const int eob = p->eobs[block];
   assert((mb->qindex == 0) ^ (xd->lossless[xd->mi[0]->mbmi.segment_id] == 0));
   if (eob == 0) return eob;
   if (xd->lossless[xd->mi[0]->mbmi.segment_id]) return eob;
+
+#if CONFIG_VAR_TX
+  int ctx = get_entropy_context(tx_size, a, l);
+#else
+  int ctx = combine_entropy_contexts(*a, *l);
+#endif
+
 #if CONFIG_PVQ
   (void)cm;
   (void)tx_size;
@@ -817,6 +825,7 @@
   return eob;
 #endif
 
+  (void)plane_bsize;
 #if USE_GREEDY_OPTIMIZE_B
   return optimize_b_greedy(cm, mb, plane, block, tx_size, ctx);
 #else   // USE_GREEDY_OPTIMIZE_B
@@ -1113,7 +1122,7 @@
 #endif
 
 #if !CONFIG_PVQ
-  av1_optimize_b(cm, x, plane, block, tx_size, ctx);
+  av1_optimize_b(cm, x, plane, block, plane_bsize, tx_size, a, l);
 
   av1_set_txb_context(x, plane, block, tx_size, a, l);
 
@@ -1734,7 +1743,7 @@
   if (args->enable_optimize_b) {
     av1_xform_quant(cm, x, plane, block, blk_row, blk_col, plane_bsize, tx_size,
                     ctx, AV1_XFORM_QUANT_FP);
-    av1_optimize_b(cm, x, plane, block, tx_size, ctx);
+    av1_optimize_b(cm, x, plane, block, plane_bsize, tx_size, a, l);
   } else {
     av1_xform_quant(cm, x, plane, block, blk_row, blk_col, plane_bsize, tx_size,
                     ctx, AV1_XFORM_QUANT_B);