Home | History | Annotate | Download | only in vpx_dsp
      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 
     13 #include "./bitwriter.h"
     14 
     15 void vpx_start_encode(vpx_writer *br, uint8_t *source) {
     16   br->lowvalue = 0;
     17   br->range = 255;
     18   br->count = -24;
     19   br->buffer = source;
     20   br->pos = 0;
     21   vpx_write_bit(br, 0);
     22 }
     23 
     24 void vpx_stop_encode(vpx_writer *br) {
     25   int i;
     26 
     27   for (i = 0; i < 32; i++) vpx_write_bit(br, 0);
     28 
     29   // Ensure there's no ambigous collision with any index marker bytes
     30   if ((br->buffer[br->pos - 1] & 0xe0) == 0xc0) br->buffer[br->pos++] = 0;
     31 }
     32