Do not use a bit writer in av1_write_obu_header()

obu_header() can be written using simple left shift and bitwise OR
operations. It is not necessary to use aom_write_bit_buffer.

Change-Id: I9bf39b6637c9b0aa36fe58ebfea68bb0c2688d80
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index a4d4a8e..d0d1820 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -3362,7 +3362,6 @@
       (obu_type == OBU_FRAME || obu_type == OBU_FRAME_HEADER))
     ++(*frame_header_count);
 
-  struct aom_write_bit_buffer wb = { dst, 0 };
   uint32_t size = 0;
 
   // The AV1 spec Version 1.0.0 with Errata 1 has the following requirements on
@@ -3388,18 +3387,17 @@
         (obu_type == OBU_FRAME_HEADER || obu_type == OBU_TILE_GROUP ||
          obu_type == OBU_FRAME || obu_type == OBU_REDUNDANT_FRAME_HEADER);
   }
+  const int obu_has_size_field = 1;
 
-  aom_wb_write_literal(&wb, 0, 1);  // forbidden bit.
-  aom_wb_write_literal(&wb, (int)obu_type, 4);
-  aom_wb_write_literal(&wb, obu_extension_flag, 1);
-  aom_wb_write_literal(&wb, 1, 1);  // obu_has_size_field
-  aom_wb_write_literal(&wb, 0, 1);  // reserved
+  dst[0] = ((int)obu_type << 3) | (obu_extension_flag << 2) |
+           (obu_has_size_field << 1);
+  size++;
 
   if (obu_extension_flag) {
-    aom_wb_write_literal(&wb, obu_extension & 0xFF, 8);
+    dst[1] = obu_extension & 0xFF;
+    size++;
   }
 
-  size = aom_wb_bytes_written(&wb);
   return size;
 }