CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
结构体 | 宏定义 | 类型定义 | 函数
bitstreamf.h 文件参考

浏览源代码.

结构体

struct  GetBitContext
 
struct  VLC
 
struct  RL_VLC_ELEM
 

宏定义

#define __STATIC_INLINE   static inline
 
#define letoh32(x)   (x)
 
#define betoh32(x)   swap32(x)
 
#define IBSS_ATTR
 
#define ICONST_ATTR
 
#define ICODE_ATTR
 
#define ICODE_ATTR_FLAC   ICODE_ATTR
 
#define IBSS_ATTR_FLAC_DECODED0   IBSS_ATTR
 
#define ALT_BITSTREAM_READER_BE
 
#define NEG_SSR32(a, s)   (((int32_t)(a))>>(32-(s)))
 
#define NEG_USR32(a, s)   (((uint32_t)(a))>>(32-(s)))
 
#define VLC_TYPE   int16_t
 
#define MIN_CACHE_BITS   25
 
#define OPEN_READER(name, gb)
 
#define CLOSE_READER(name, gb)   (gb)->index= name##_index;\
 
#define UPDATE_CACHE(name, gb)   name##_cache= unaligned32_be( ((const uint8_t *)(gb)->buffer)+(name##_index>>3) ) << (name##_index&0x07);\
 
#define SKIP_CACHE(name, gb, num)   name##_cache <<= (num);
 
#define SKIP_COUNTER(name, gb, num)   name##_index += (num);\
 
#define SKIP_BITS(name, gb, num)
 
#define LAST_SKIP_BITS(name, gb, num)   SKIP_COUNTER(name, gb, num)
 
#define LAST_SKIP_CACHE(name, gb, num)   ;
 
#define SHOW_UBITS(name, gb, num)   NEG_USR32(name##_cache, num)
 
#define SHOW_SBITS(name, gb, num)   NEG_SSR32(name##_cache, num)
 
#define GET_CACHE(name, gb)   ((uint32_t)name##_cache)
 

类型定义

typedef struct GetBitContext GetBitContext
 
typedef struct VLC VLC
 
typedef struct RL_VLC_ELEM RL_VLC_ELEM
 

函数

static unsigned short swap16 (unsigned short value)
 
static unsigned long swap32 (unsigned long value)
 
static uint32_t unaligned32 (const void *v)
 
static int unaligned32_be (const void *v)
 
static int unaligned32_le (const void *v)
 
static int get_bits_count (GetBitContext *s)
 
static int get_sbits (GetBitContext *s, int n)
 
static unsigned int get_bits (GetBitContext *s, int n)
 
static unsigned int show_bits (GetBitContext *s, int n)
 
static void skip_bits (GetBitContext *s, int n)
 
static unsigned int get_bits1 (GetBitContext *s)
 
static unsigned int show_bits1 (GetBitContext *s)
 
static void skip_bits1 (GetBitContext *s)
 
static void init_get_bits (GetBitContext *s, const uint8_t *buffer, int bit_size)
 
void align_get_bits (GetBitContext *s)
 

结构体说明

◆ GetBitContext

struct GetBitContext
成员变量
const uint8_t * buffer
const uint8_t * buffer_end
int index
int size_in_bits

◆ VLC

struct VLC
成员变量
int bits
int16_t(* table)[2] code, bits
int table_allocated
int table_size

◆ RL_VLC_ELEM

struct RL_VLC_ELEM
成员变量
int8_t len
int16_t level
uint8_t run

宏定义说明

◆ __STATIC_INLINE

#define __STATIC_INLINE   static inline

◆ ALT_BITSTREAM_READER_BE

#define ALT_BITSTREAM_READER_BE

◆ betoh32

#define betoh32 (   x)    swap32(x)

◆ CLOSE_READER

#define CLOSE_READER (   name,
  gb 
)    (gb)->index= name##_index;\

◆ GET_CACHE

#define GET_CACHE (   name,
  gb 
)    ((uint32_t)name##_cache)

◆ IBSS_ATTR

#define IBSS_ATTR

◆ IBSS_ATTR_FLAC_DECODED0

#define IBSS_ATTR_FLAC_DECODED0   IBSS_ATTR

◆ ICODE_ATTR

#define ICODE_ATTR

◆ ICODE_ATTR_FLAC

#define ICODE_ATTR_FLAC   ICODE_ATTR

◆ ICONST_ATTR

#define ICONST_ATTR

◆ LAST_SKIP_BITS

#define LAST_SKIP_BITS (   name,
  gb,
  num 
)    SKIP_COUNTER(name, gb, num)

◆ LAST_SKIP_CACHE

#define LAST_SKIP_CACHE (   name,
  gb,
  num 
)    ;

◆ letoh32

#define letoh32 (   x)    (x)

◆ MIN_CACHE_BITS

#define MIN_CACHE_BITS   25

◆ NEG_SSR32

#define NEG_SSR32 (   a,
 
)    (((int32_t)(a))>>(32-(s)))

◆ NEG_USR32

#define NEG_USR32 (   a,
 
)    (((uint32_t)(a))>>(32-(s)))

◆ OPEN_READER

#define OPEN_READER (   name,
  gb 
)
值:
int name##_index= (gb)->index;\
int name##_cache= 0;\

◆ SHOW_SBITS

#define SHOW_SBITS (   name,
  gb,
  num 
)    NEG_SSR32(name##_cache, num)

◆ SHOW_UBITS

#define SHOW_UBITS (   name,
  gb,
  num 
)    NEG_USR32(name##_cache, num)

◆ SKIP_BITS

#define SKIP_BITS (   name,
  gb,
  num 
)
值:
{\
SKIP_CACHE(name, gb, num)\
SKIP_COUNTER(name, gb, num)\
}\

◆ SKIP_CACHE

#define SKIP_CACHE (   name,
  gb,
  num 
)    name##_cache <<= (num);

◆ SKIP_COUNTER

#define SKIP_COUNTER (   name,
  gb,
  num 
)    name##_index += (num);\

◆ UPDATE_CACHE

#define UPDATE_CACHE (   name,
  gb 
)    name##_cache= unaligned32_be( ((const uint8_t *)(gb)->buffer)+(name##_index>>3) ) << (name##_index&0x07);\

◆ VLC_TYPE

#define VLC_TYPE   int16_t

类型定义说明

◆ GetBitContext

typedef struct GetBitContext GetBitContext

◆ RL_VLC_ELEM

typedef struct RL_VLC_ELEM RL_VLC_ELEM

◆ VLC

typedef struct VLC VLC

函数说明

◆ align_get_bits()

void align_get_bits ( GetBitContext s)

◆ get_bits()

static unsigned int get_bits ( GetBitContext s,
int  n 
)
inlinestatic

◆ get_bits1()

static unsigned int get_bits1 ( GetBitContext s)
inlinestatic

◆ get_bits_count()

static int get_bits_count ( GetBitContext s)
inlinestatic

◆ get_sbits()

static int get_sbits ( GetBitContext s,
int  n 
)
inlinestatic

◆ init_get_bits()

static void init_get_bits ( GetBitContext s,
const uint8_t *  buffer,
int  bit_size 
)
inlinestatic

◆ show_bits()

static unsigned int show_bits ( GetBitContext s,
int  n 
)
inlinestatic

◆ show_bits1()

static unsigned int show_bits1 ( GetBitContext s)
inlinestatic

◆ skip_bits()

static void skip_bits ( GetBitContext s,
int  n 
)
inlinestatic

◆ skip_bits1()

static void skip_bits1 ( GetBitContext s)
inlinestatic

◆ swap16()

static unsigned short swap16 ( unsigned short  value)
inlinestatic

◆ swap32()

static unsigned long swap32 ( unsigned long  value)
inlinestatic

◆ unaligned32()

static uint32_t unaligned32 ( const void *  v)
inlinestatic

◆ unaligned32_be()

static int unaligned32_be ( const void *  v)
inlinestatic

◆ unaligned32_le()

static int unaligned32_le ( const void *  v)
inlinestatic