LCOV - code coverage report
Current view: top level - media/libvpx/libvpx/vpx_dsp - bitwriter_buffer.c (source / functions) Hit Total Coverage
Test: output.info Lines: 0 19 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 4 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  *  Copyright (c) 2013 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 <limits.h>
      12             : #include <stdlib.h>
      13             : 
      14             : #include "./vpx_config.h"
      15             : #include "./bitwriter_buffer.h"
      16             : 
      17           0 : size_t vpx_wb_bytes_written(const struct vpx_write_bit_buffer *wb) {
      18           0 :   return wb->bit_offset / CHAR_BIT + (wb->bit_offset % CHAR_BIT > 0);
      19             : }
      20             : 
      21           0 : void vpx_wb_write_bit(struct vpx_write_bit_buffer *wb, int bit) {
      22           0 :   const int off = (int)wb->bit_offset;
      23           0 :   const int p = off / CHAR_BIT;
      24           0 :   const int q = CHAR_BIT - 1 - off % CHAR_BIT;
      25           0 :   if (q == CHAR_BIT - 1) {
      26           0 :     wb->bit_buffer[p] = bit << q;
      27             :   } else {
      28           0 :     wb->bit_buffer[p] &= ~(1 << q);
      29           0 :     wb->bit_buffer[p] |= bit << q;
      30             :   }
      31           0 :   wb->bit_offset = off + 1;
      32           0 : }
      33             : 
      34           0 : void vpx_wb_write_literal(struct vpx_write_bit_buffer *wb, int data, int bits) {
      35             :   int bit;
      36           0 :   for (bit = bits - 1; bit >= 0; bit--) vpx_wb_write_bit(wb, (data >> bit) & 1);
      37           0 : }
      38             : 
      39           0 : void vpx_wb_write_inv_signed_literal(struct vpx_write_bit_buffer *wb, int data,
      40             :                                      int bits) {
      41             : #if CONFIG_MISC_FIXES
      42             :   vpx_wb_write_literal(wb, data, bits + 1);
      43             : #else
      44           0 :   vpx_wb_write_literal(wb, abs(data), bits);
      45           0 :   vpx_wb_write_bit(wb, data < 0);
      46             : #endif
      47           0 : }

Generated by: LCOV version 1.13