# HG changeset patch # User ods15 # Date 1159768583 0 # Node ID 6591b55f648244d95186ebe8faf721661a0c528b # Parent bb414feb6a0ddd9374cac8281c0b51b456db914b Original Commit: r38 | ods15 | 2006-09-23 09:02:34 +0300 (Sat, 23 Sep 2006) | 2 lines buffer related struct variables diff -r bb414feb6a0d -r 6591b55f6482 vorbis_enc.c --- a/vorbis_enc.c Mon Oct 02 05:56:21 2006 +0000 +++ b/vorbis_enc.c Mon Oct 02 05:56:23 2006 +0000 @@ -24,6 +24,11 @@ #include "avcodec.h" +#define BITSTREAM_H // don't include this +typedef int VLC; +typedef int GetBitContext; +#include "vorbis.h" + #undef NDEBUG #include @@ -91,6 +96,12 @@ int channels; int sample_rate; int blocksize[2]; // in (1<modes[0].blockflag = 0; venc->modes[0].mapping = 0; + + venc->saved = av_malloc(sizeof(float) * venc->channels * (1 << venc->blocksize[1]) / 2); + venc->samples = av_malloc(sizeof(float) * venc->channels * (1 << venc->blocksize[1])); + venc->floor = av_malloc(sizeof(float) * venc->channels * (1 << venc->blocksize[1]) / 2); + venc->coeffs = av_malloc(sizeof(float) * venc->channels * (1 << venc->blocksize[1]) / 2); + + { + const float *vwin[8]={ vwin64, vwin128, vwin256, vwin512, vwin1024, vwin2048, vwin4096, vwin8192 }; + venc->win[0] = vwin[venc->blocksize[0] - 6]; + venc->win[1] = vwin[venc->blocksize[1] - 6]; + } + + ff_mdct_init(&venc->mdct[0], venc->blocksize[0], 0); + ff_mdct_init(&venc->mdct[1], venc->blocksize[1], 0); } static inline int ilog(unsigned int a) { @@ -669,6 +694,14 @@ av_freep(&venc->modes); + av_freep(&venc->saved); + av_freep(&venc->samples); + av_freep(&venc->floor); + av_freep(&venc->coeffs); + + ff_mdct_end(&venc->mdct[0]); + ff_mdct_end(&venc->mdct[1]); + av_freep(&avccontext->coded_frame); av_freep(&avccontext->extradata);