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

📄 bitstrm.h

📁 jpeg and mpeg 编解码技术源代码
💻 H
字号:

#define      UNIX            
#define      MS_DOS          

/***********************************************************************
*
* 全局的头文件
*
***********************************************************************/

#include        <stdio.h>
#include        <string.h>
#include        <math.h>

#include		<stdlib.h>
#include		<malloc.h>

/***********************************************************************
*
*  全局的宏声明
*
***********************************************************************/

/* General Definitions */

#define         FLOAT                   double

#define         FALSE                   0
#define         TRUE                    1
#define         NULL_CHAR               '\0'

#define         BITS_IN_A_BYTE          8
#define         WORD                    16



#define         MINIMUM         4    /* 缓存器最小值*/
#define         MAX_LENGTH      32   
#define         READ_MODE       0
#define         WRITE_MODE      1
#define         ALIGNING        8
#define         BINARY          0
#define         ASCII           1
#define         BS_FORMAT       BINARY 
#define         BUFFER_SIZE     4096

#define         MIN(A, B)       ((A) < (B) ? (A) : (B))
#define         MAX(A, B)       ((A) > (B) ? (A) : (B))


typedef struct  bit_stream_struc {
    FILE        *pt;            
    unsigned char *buf;         
    int         buf_size;       
    long        totbit;         
    int         buf_byte_idx;   
    int         buf_bit_idx;    
    int         mode;           
    int         eob;           
    int         eobs;          
    char        format;
    
  
} Bit_stream_struc;


/***********************************************************************
*
*  声明全局函数
*
***********************************************************************/


extern int            memcheck(char*, int, int);
extern void           *mem_alloc(unsigned long, char*);
extern void           mem_free(void**);
extern void            refill_buffer(Bit_stream_struc*);
extern void           empty_buffer(Bit_stream_struc*, int);
extern void           open_bit_stream_w(Bit_stream_struc*, char*, int);
extern void           open_bit_stream_r(Bit_stream_struc*, char*, int);
extern void           close_bit_stream_r(Bit_stream_struc*);
extern void           close_bit_stream_w(Bit_stream_struc*);
extern void           alloc_buffer(Bit_stream_struc*, int);
extern void           desalloc_buffer(Bit_stream_struc*);
extern void           back_track_buffer(Bit_stream_struc*, int);
extern unsigned int   get1bit(Bit_stream_struc*);
extern void           put1bit(Bit_stream_struc*, int);
extern unsigned long  look_ahead(Bit_stream_struc*, int);
extern unsigned long  getbits(Bit_stream_struc*, int);
extern void           byte_ali_putbits(Bit_stream_struc*, unsigned int, int);
extern unsigned long  byte_ali_getbits(Bit_stream_struc*, int);
extern unsigned long  sstell(Bit_stream_struc*);
extern int            end_bs(Bit_stream_struc*);
extern int            seek_sync(Bit_stream_struc*, long, int);

⌨️ 快捷键说明

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