NEW_TOKENSET: do not code impossible values.

In the last position, No-EOB values and zero are all not
possible.

AWCY, objective-1-fast: -0.08% all metrics
AWCY, screen content:

PSNR YCbCr:    -0.42%    -0.42%    -0.43%
PSNRHVS:       -0.40%
SSIM:          -0.41%
MSSSIM:        -0.41%
CIEDE2000:     -0.42%

Change-Id: Iad012abfd2a48a2c9ff27512f92b27235a5a8a4a
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 00ae1fd..c5c656c 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -839,9 +839,13 @@
       p++;
       continue;
     }
-    int comb_symb = 2 * AOMMIN(token, TWO_TOKEN) - p->is_eob + 1;
-
-    aom_write_symbol(w, comb_symb, *p->head_cdf, 6);
+    if (p->eob_val == LAST_EOB) {
+      // Just code a flag indicating whether the value is >1 or 1.
+      aom_write_bit(w, token != ONE_TOKEN);
+    } else {
+      int comb_symb = 2 * AOMMIN(token, TWO_TOKEN) - p->eob_val + 1;
+      aom_write_symbol(w, comb_symb, *p->head_cdf, 6);
+    }
     if (token > ONE_TOKEN) {
       aom_write_symbol(w, token - TWO_TOKEN, *p->tail_cdf,
                        CATEGORY6_TOKEN + 1 - 2);