[idct] Fix initialization of tx_set_type

Previous assumption on reduced_tx_set_used=0 led to many assertion
failures and prevented signalling reduced_tx_set_used equal to 1.

BUG=aomedia:1053

Change-Id: If9a9dff8d01ba3ec942e06559c153f06d34555f9
diff --git a/av1/encoder/encodemb.c b/av1/encoder/encodemb.c
index 920456b..49c79f7 100644
--- a/av1/encoder/encodemb.c
+++ b/av1/encoder/encodemb.c
@@ -689,7 +689,7 @@
                                 mrc_mask,
 #endif  // CONFIG_MRC_TX && SIGNAL_ANY_MRC_MASK
                                 plane, tx_type, tx_size, dst, pd->dst.stride,
-                                p->eobs[block]);
+                                p->eobs[block], cm->reduced_tx_set_used);
   }
 }
 
@@ -943,7 +943,8 @@
 #if CONFIG_MRC_TX && SIGNAL_ANY_MRC_MASK
                               mrc_mask,
 #endif  // CONFIG_MRC_TX && SIGNAL_ANY_MRC_MASK
-                              plane, tx_type, tx_size, dst, dst_stride, *eob);
+                              plane, tx_type, tx_size, dst, dst_stride, *eob,
+                              cm->reduced_tx_set_used);
 
   if (*eob) *(args->skip) = 0;
 
diff --git a/av1/encoder/encodetxb.c b/av1/encoder/encodetxb.c
index 881f7b2..e0d25bd 100644
--- a/av1/encoder/encodetxb.c
+++ b/av1/encoder/encodetxb.c
@@ -2509,7 +2509,8 @@
                    a, l, 1);
 
     av1_inverse_transform_block_facade(xd, plane, block, blk_row, blk_col,
-                                       x->plane[plane].eobs[block]);
+                                       x->plane[plane].eobs[block],
+                                       cm->reduced_tx_set_used);
   }
   return best_rd;
 }
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index e30f112..9c0ceab 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -1890,7 +1890,8 @@
 #endif  // CONFIG_HIGHBITDEPTH
 
 void av1_inverse_transform_block_facade(MACROBLOCKD *xd, int plane, int block,
-                                        int blk_row, int blk_col, int eob) {
+                                        int blk_row, int blk_col, int eob,
+                                        int reduced_tx_set) {
   struct macroblockd_plane *const pd = &xd->plane[plane];
   tran_low_t *dqcoeff = BLOCK_OFFSET(pd->dqcoeff, block);
 #if CONFIG_MRC_TX && SIGNAL_ANY_MRC_MASK
@@ -1907,7 +1908,8 @@
 #if CONFIG_MRC_TX && SIGNAL_ANY_MRC_MASK
                               mrc_mask,
 #endif  // CONFIG_MRC_TX && SIGNAL_ANY_MRC_MASK
-                              plane, tx_type, tx_size, dst, dst_stride, eob);
+                              plane, tx_type, tx_size, dst, dst_stride, eob,
+                              reduced_tx_set);
 }
 
 void av1_dist_block(const AV1_COMP *cpi, MACROBLOCK *x, int plane,
@@ -2029,7 +2031,7 @@
                                     mrc_mask,
 #endif  // CONFIG_MRC_TX && SIGNAL_ANY_MRC_MASK
                                     plane, tx_type, tx_size, recon, MAX_TX_SIZE,
-                                    eob);
+                                    eob, cpi->common.reduced_tx_set_used);
 
 #if CONFIG_DIST_8X8
         if (x->using_dist_8x8 && plane == 0 && (bsw < 8 || bsh < 8)) {
@@ -2166,7 +2168,7 @@
   if (!is_inter_block(mbmi)) {
     struct macroblock_plane *const p = &x->plane[plane];
     av1_inverse_transform_block_facade(xd, plane, block, blk_row, blk_col,
-                                       p->eobs[block]);
+                                       p->eobs[block], cm->reduced_tx_set_used);
     av1_dist_block(args->cpi, x, plane, plane_bsize, block, blk_row, blk_col,
                    tx_size, &this_rd_stats.dist, &this_rd_stats.sse,
                    OUTPUT_HAS_DECODED_PIXELS);
@@ -3799,7 +3801,7 @@
                               mrc_mask,
 #endif  // CONFIG_MRC_TX && SIGNAL_ANY_MRC_MASK
                               plane, tx_type, tx_size, rec_buffer, MAX_TX_SIZE,
-                              eob);
+                              eob, cm->reduced_tx_set_used);
   if (eob > 0) {
 #if CONFIG_DIST_8X8
     if (x->using_dist_8x8 && plane == 0 && (bw < 8 && bh < 8)) {
diff --git a/av1/encoder/rdopt.h b/av1/encoder/rdopt.h
index 082802a..932ca65 100644
--- a/av1/encoder/rdopt.h
+++ b/av1/encoder/rdopt.h
@@ -127,5 +127,6 @@
                                MB_MODE_INFO *backup_mbmi);
 
 void av1_inverse_transform_block_facade(MACROBLOCKD *xd, int plane, int block,
-                                        int blk_row, int blk_col, int eob);
+                                        int blk_row, int blk_col, int eob,
+                                        int reduced_tx_set);
 #endif  // AV1_ENCODER_RDOPT_H_