mirror of
https://github.com/smallmain/cocos-enhance-kit.git
synced 2025-01-15 07:21:07 +00:00
70 lines
2.5 KiB
C
Executable File
70 lines
2.5 KiB
C
Executable File
/********************************************************************
|
|
* *
|
|
* THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. *
|
|
* *
|
|
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
|
|
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
|
* *
|
|
* THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
|
|
* BY THE Xiph.Org FOUNDATION http://www.xiph.org/ *
|
|
* *
|
|
********************************************************************
|
|
|
|
function: basic shared codebook operations
|
|
|
|
********************************************************************/
|
|
|
|
#ifndef _V_CODEBOOK_H_
|
|
#define _V_CODEBOOK_H_
|
|
|
|
#include "ogg.h"
|
|
|
|
typedef struct codebook{
|
|
/* Top 15 used in ARM code */
|
|
int dec_maxlength;
|
|
void *dec_table;
|
|
int dec_method;
|
|
int dec_type; /* 0 = entry number
|
|
1 = packed vector of values
|
|
2 = packed vector of column offsets, maptype 1
|
|
3 = scalar offset into value array, maptype 2 */
|
|
int q_bits;
|
|
long dim; /* codebook dimensions (elements per vector) */
|
|
int q_delp;
|
|
int q_minp;
|
|
ogg_int32_t q_del;
|
|
ogg_int32_t q_min;
|
|
int q_seq;
|
|
int q_pack;
|
|
void *q_val;
|
|
long used_entries; /* populated codebook entries */
|
|
ogg_int32_t *dec_buf;
|
|
|
|
/* C only */
|
|
int dec_nodeb;
|
|
int dec_leafw;
|
|
|
|
long entries; /* codebook entries */
|
|
|
|
} codebook;
|
|
|
|
extern void vorbis_book_clear(codebook *b);
|
|
extern int vorbis_book_unpack(oggpack_buffer *b,codebook *c);
|
|
|
|
extern long vorbis_book_decode(codebook *book, oggpack_buffer *b);
|
|
extern long vorbis_book_decodevs_add(codebook *book, ogg_int32_t *a,
|
|
oggpack_buffer *b,int n,int point);
|
|
extern long vorbis_book_decodev_set(codebook *book, ogg_int32_t *a,
|
|
oggpack_buffer *b,int n,int point);
|
|
extern long vorbis_book_decodev_add(codebook *book, ogg_int32_t *a,
|
|
oggpack_buffer *b,int n,int point);
|
|
extern long vorbis_book_decodevv_add(codebook *book, ogg_int32_t **a,
|
|
long off,int ch,
|
|
oggpack_buffer *b,int n,int point);
|
|
|
|
extern int _ilog(unsigned int v);
|
|
|
|
|
|
#endif
|