ans: Give buf_ans ownership of the AnsCoder

Change-Id: I509bbba0d84c1d378044e2c612dd48cd8f99848d
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index d7d3701..493e857 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -3464,7 +3464,7 @@
 #endif
   const AV1_COMMON *const cm = &cpi->common;
 #if CONFIG_ANS
-  struct AnsCoder token_ans;
+  struct BufAnsCoder *buf_ans = &cpi->buf_ans;
 #else
   aom_writer mode_bc;
 #endif  // CONFIG_ANS
@@ -3495,9 +3495,6 @@
 #if CONFIG_EXT_TILE
   const int have_tiles = tile_cols * tile_rows > 1;
 #endif  // CONFIG_EXT_TILE
-#if CONFIG_ANS
-  struct BufAnsCoder *buf_ans = &cpi->buf_ans;
-#endif  // CONFIG_ANS
 
   *max_tile_size = 0;
   *max_tile_col_size = 0;
@@ -3536,12 +3533,11 @@
       aom_stop_encode(&mode_bc);
       tile_size = mode_bc.pos;
 #else
-      buf_ans_write_reset(buf_ans);
+      buf_ans_write_init(buf_ans, buf->data + data_offset);
       write_modes(cpi, &tile_info, buf_ans, &tok, tok_end);
       assert(tok == tok_end);
-      ans_write_init(&token_ans, buf->data + data_offset);
-      buf_ans_flush(buf_ans, &token_ans);
-      tile_size = ans_write_end(&token_ans);
+      buf_ans_flush(buf_ans);
+      tile_size = buf_ans_write_end(buf_ans);
 #endif  // !CONFIG_ANS
 
       buf->size = tile_size;
@@ -3686,12 +3682,11 @@
       if (!is_last_tile) total_size += 4;
 
 #if CONFIG_ANS
-      buf_ans_write_reset(buf_ans);
+      buf_ans_write_init(buf_ans, dst + total_size);
       write_modes(cpi, &tile_info, buf_ans, &tok, tok_end);
       assert(tok == tok_end);
-      ans_write_init(&token_ans, dst + total_size);
-      buf_ans_flush(buf_ans, &token_ans);
-      tile_size = ans_write_end(&token_ans);
+      buf_ans_flush(buf_ans);
+      tile_size = buf_ans_write_end(buf_ans);
 #else
       aom_start_encode(&mode_bc, dst + total_size);
 #if CONFIG_PVQ
@@ -3703,10 +3698,10 @@
       assert(tok == tok_end);
       aom_stop_encode(&mode_bc);
       tile_size = mode_bc.pos;
-#endif
+#endif  // CONFIG_ANS
 #if CONFIG_PVQ
       cpi->td.mb.pvq_q = NULL;
-#endif  // !CONFIG_ANS
+#endif
 
       assert(tile_size > 0);
 
@@ -4132,10 +4127,9 @@
 #endif
 
 #if CONFIG_ANS
-  struct AnsCoder header_ans;
   int header_size;
   header_bc = &cpi->buf_ans;
-  buf_ans_write_reset(header_bc);
+  buf_ans_write_init(header_bc, data);
 #else
   aom_writer real_header_bc;
   header_bc = &real_header_bc;
@@ -4333,9 +4327,8 @@
 #endif
 #endif
 #if CONFIG_ANS
-  ans_write_init(&header_ans, data);
-  buf_ans_flush(header_bc, &header_ans);
-  header_size = ans_write_end(&header_ans);
+  buf_ans_flush(header_bc);
+  header_size = buf_ans_write_end(header_bc);
   assert(header_size <= 0xffff);
   return header_size;
 #else