--- trunk/xvidcore/src/encoder.c 2002/03/20 00:28:02 41 +++ trunk/xvidcore/src/encoder.c 2002/03/24 05:47:48 64 @@ -82,7 +82,7 @@ pParam->bitrate = 900000; if (pParam->rc_buffersize <= 0) - pParam->rc_buffersize = pParam->bitrate * pParam->fbase; + pParam->rc_buffersize = 16; if ((pParam->min_quantizer <= 0) || (pParam->min_quantizer > 31)) pParam->min_quantizer = 1; @@ -183,8 +183,8 @@ if (pParam->bitrate) { - RateControlInit(pParam->bitrate, pParam->rc_buffersize, pParam->fbase, pParam->width, - pParam->height, pParam->max_quantizer, pParam->min_quantizer); + RateControlInit(pParam->bitrate, pParam->rc_buffersize, pParam->fbase * 100 / pParam->fincr, + pParam->max_quantizer, pParam->min_quantizer); } create_vlc_tables(); @@ -364,8 +364,8 @@ static int FrameCodeI(Encoder * pEnc, Bitstream * bs, uint32_t *pBits) { - int16_t dct_codes[6][64]; - int16_t qcoeff[6][64]; + CACHE_ALIGN int16_t dct_codes[6][64]; + CACHE_ALIGN int16_t qcoeff[6][64]; uint16_t x, y; pEnc->iFrameNum = 0; @@ -418,8 +418,10 @@ static int FrameCodeP(Encoder * pEnc, Bitstream * bs, uint32_t *pBits, bool force_inter, bool vol_header) { float fSigma; - int16_t dct_codes[6][64]; - int16_t qcoeff[6][64]; + + CACHE_ALIGN int16_t dct_codes[6][64]; + CACHE_ALIGN int16_t qcoeff[6][64]; + int iLimit; uint32_t x, y; int iSearchRange;