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

📄 cavlc.c

📁 decode the h264 video
💻 C
字号:
#include "common.h"#include "input.h"#include "cavlc.h"code_table *init_code_table(code_table_item *items) {  code_table *res=malloc(sizeof(code_table));  code_table_item *pos;  int count=0;  for(pos=items; pos && pos->code!=0xFFFFFFFF; ++pos) ++count;  res->items=items;  res->count=count;  return res;}int get_code(code_table *table) {  unsigned int code=input_peek_bits(24)<<8;  int min=0, max=table->count;  while(max-min>1) {    int mid=(min+max)>>1;    if(code>=table->items[mid].code) min=mid; else max=mid;  }  input_step_bits(table->items[min].bits);  return table->items[min].data;}int get_unsigned_exp_golomb() {  int exp;  for(exp=0; !input_get_one_bit(); ++exp);  if(exp) return (1<<exp)-1+input_get_bits(exp);     else return 0;}int get_signed_exp_golomb() {  int code=get_unsigned_exp_golomb();  return (code&1) ? (code+1)>>1 : -(code>>1);}

⌨️ 快捷键说明

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