⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bitstream.cpp

📁 ac3的解码程序
💻 CPP
字号:
#include "bitstream.h"

void 
Bitstream::set_ptr (uint8_t * buf)
{
  int align;

  align = (long)buf & 3;
  buffer_start = (uint32_t *) (buf - align);
  bits_left = 0;
  get(align * 8);
}

uint32_t
Bitstream::get_bh(uint32_t num_bits)
{
  uint32_t result;

  num_bits -= bits_left;
  result = ((current_word << (32 - bits_left)) >> (32 - bits_left));

  fill_current();

  if(num_bits != 0)
    result = (result << num_bits) | (current_word >> (32 - num_bits));

  bits_left = 32 - num_bits;

  return result;
}

int32_t
Bitstream::get_bh_signed(uint32_t num_bits)
{
  int32_t result;

  num_bits -= bits_left;
  result = ((((int32_t)current_word) << (32 - bits_left)) >> (32 - bits_left));

  fill_current();

  if(num_bits != 0)
    result = (result << num_bits) | (current_word >> (32 - num_bits));
        
  bits_left = 32 - num_bits;

  return result;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -