From de6d9b6404bfd1c589799142da5a95428f146edd Mon Sep 17 00:00:00 2001 From: Fabrice Bellard Date: Sun, 22 Jul 2001 14:18:56 +0000 Subject: Initial revision Originally committed as revision 5 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/ac3enc.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 libavcodec/ac3enc.h (limited to 'libavcodec/ac3enc.h') diff --git a/libavcodec/ac3enc.h b/libavcodec/ac3enc.h new file mode 100644 index 0000000000..40cc53aced --- /dev/null +++ b/libavcodec/ac3enc.h @@ -0,0 +1,32 @@ + +#define AC3_FRAME_SIZE (6*256) +#define AC3_MAX_CODED_FRAME_SIZE 3840 /* in bytes */ +#define AC3_MAX_CHANNELS 2 /* we handle at most two channels, although + AC3 allows 6 channels */ + +typedef struct AC3EncodeContext { + PutBitContext pb; + int nb_channels; + int bit_rate; + int sample_rate; + int bsid; + int frame_size_min; /* minimum frame size in case rounding is necessary */ + int frame_size; /* current frame size in words */ + int halfratecod; + int frmsizecod; + int fscod; /* frequency */ + int acmod; + int bsmod; + short last_samples[AC3_MAX_CHANNELS][256]; + int chbwcod[AC3_MAX_CHANNELS]; + int nb_coefs[AC3_MAX_CHANNELS]; + + /* bitrate allocation control */ + int sgaincod, sdecaycod, fdecaycod, dbkneecod, floorcod; + int sgain, sdecay, fdecay, dbknee, floor; + int csnroffst; + int fgaincod[AC3_MAX_CHANNELS]; + int fsnroffst[AC3_MAX_CHANNELS]; + /* mantissa encoding */ + int mant1_cnt, mant2_cnt, mant4_cnt; +} AC3EncodeContext; -- cgit v1.2.3