blob: c825e7ce09e4a3102d83fc941f796997e9b1ea18 [file] [log] [blame]
#ifndef UTIL_DOT_H
#define UTIL_DOT_H
/***********************************************************************
*
* Global Include Files
*
***********************************************************************/
#include "machine.h"
#include "encoder.h"
#include "lame.h"
/***********************************************************************
*
* Global Definitions
*
***********************************************************************/
/* General Definitions */
#ifndef FALSE
#define FALSE 0
#endif
#ifndef TRUE
#define TRUE 1
#endif
#define MAX_U_32_NUM 0xFFFFFFFF
#ifndef PI
# ifdef M_PI
# define PI M_PI
# else
# define PI 3.14159265358979323846
# endif
#endif
#ifdef M_LN2
# define LOG2 M_LN2
#else
# define LOG2 0.69314718055994530942
#endif
#ifdef M_LN10
# define LOG10 M_LN10
#else
# define LOG10 2.30258509299404568402
#endif
#ifdef M_SQRT2
# define SQRT2 M_SQRT2
#else
# define SQRT2 1.41421356237309504880
#endif
#define BITS_IN_A_BYTE 8
#define HAN_SIZE 512
#define CRC16_POLYNOMIAL 0x8005
/* MPEG Header Definitions - Mode Values */
#define MPG_MD_STEREO 0
#define MPG_MD_JOINT_STEREO 1
#define MPG_MD_DUAL_CHANNEL 2
#define MPG_MD_MONO 3
/* Mode Extention */
#define MPG_MD_LR_LR 0
#define MPG_MD_LR_I 1
#define MPG_MD_MS_LR 2
#define MPG_MD_MS_I 3
/* "bit_stream.h" Definitions */
#define MINIMUM 4 /* Minimum size of the buffer in bytes */
#define MAX_LENGTH 32 /* Maximum length of word written or
read from bit stream */
#define BUFFER_SIZE LAME_MAXMP3BUFFER
#define Min(A, B) ((A) < (B) ? (A) : (B))
#define Max(A, B) ((A) > (B) ? (A) : (B))
/***********************************************************************
*
* Global Type Definitions
*
***********************************************************************/
/* Structure for Reading Layer II Allocation Tables from File */
typedef struct {
unsigned int steps;
unsigned int bits;
unsigned int group;
unsigned int quant;
} sb_alloc, *alloc_ptr;
typedef sb_alloc al_table[SBLIMIT][16];
/* Header Information Structure */
enum byte_order { order_unknown, order_bigEndian, order_littleEndian };
extern enum byte_order NativeByteOrder;
/* "bit_stream.h" Type Definitions */
typedef struct bit_stream_struc {
unsigned char* pbtOutBuf; /* for .DLL code */
int nOutBufPos; /* for .DLL code */
FILE *pt; /* pointer to bit stream device */
unsigned char *buf; /* bit stream buffer */
int buf_size; /* size of buffer (in number of bytes) */
unsigned long totbit; /* bit counter of bit stream */
int buf_byte_idx; /* pointer to top byte in buffer */
int buf_bit_idx; /* pointer to top bit of top byte in buffer */
/* format of file in rd mode (BINARY/ASCII) */
} Bit_stream_struc;
#include "l3side.h"
/***********************************************************************
*
* Global Variable External Declarations
*
***********************************************************************/
extern int bitrate_table[2][15];
/***********************************************************************
*
* Global Function Prototype Declarations
*
***********************************************************************/
extern void display_bitrates(FILE *out_fh);
extern int BitrateIndex(int, int,int);
extern int SmpFrqIndex(long, int*);
extern void *mem_alloc(unsigned long, char*);
extern int copy_buffer(char *buffer,int buffer_size,Bit_stream_struc *bs);
extern void init_bit_stream_w(Bit_stream_struc*);
extern void alloc_buffer(Bit_stream_struc*, int);
extern void desalloc_buffer(Bit_stream_struc*);
extern void putbits(Bit_stream_struc*, unsigned int, int);
extern enum byte_order DetermineByteOrder(void);
extern void SwapBytesInWords( short *loc, int words );
extern void
getframebits(lame_global_flags *gfp,int *bitsPerFrame, int *mean_bits);
#endif