1 /*
2  *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3  *
4  *  Use of this source code is governed by a BSD-style license
5  *  that can be found in the LICENSE file in the root of the source
6  *  tree. An additional intellectual property rights grant can be found
7  *  in the file PATENTS.  All contributing project authors may
8  *  be found in the AUTHORS file in the root of the source tree.
9  */
10 
11 #include <assert.h>
12 #include "vp9/encoder/vp9_writer.h"
13 #include "vp9/common/vp9_entropy.h"
14 
vp9_start_encode(vp9_writer * br,uint8_t * source)15 void vp9_start_encode(vp9_writer *br, uint8_t *source) {
16   br->lowvalue = 0;
17   br->range    = 255;
18   br->value    = 0;
19   br->count    = -24;
20   br->buffer   = source;
21   br->pos      = 0;
22   vp9_write_bit(br, 0);
23 }
24 
vp9_stop_encode(vp9_writer * br)25 void vp9_stop_encode(vp9_writer *br) {
26   int i;
27 
28   for (i = 0; i < 32; i++)
29     vp9_write_bit(br, 0);
30 
31   // Ensure there's no ambigous collision with any index marker bytes
32   if ((br->buffer[br->pos - 1] & 0xe0) == 0xc0)
33     br->buffer[br->pos++] = 0;
34 }
35 
36