--- trunk/xvidcore/src/encoder.c 2003/03/04 10:55:21 903 +++ trunk/xvidcore/src/encoder.c 2003/05/28 16:51:08 1045 @@ -26,7 +26,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: encoder.c,v 1.96 2003-03-04 10:55:21 syskin Exp $ + * $Id: encoder.c,v 1.100 2003-05-28 16:51:08 edgomez Exp $ * ****************************************************************************/ @@ -183,7 +183,7 @@ /* 1 keyframe each 10 seconds */ if (pParam->max_key_interval <= 0) - pParam->max_key_interval = 10 * pParam->fincr / pParam->fbase; + pParam->max_key_interval = 10 * pParam->fbase / pParam->fincr; pEnc = (Encoder *) xvid_malloc(sizeof(Encoder), CACHE_LINE); if (pEnc == NULL) @@ -752,6 +752,13 @@ pResult->ublks = pEnc->current->sStat.ublks; } + emms(); + + if (pFrame->quant == 0) { + RateControlUpdate(&pEnc->rate_control, pEnc->current->quant, + pFrame->length, pFrame->intra); + } + if (input_valid) queue_image(pEnc, pFrame); @@ -794,6 +801,13 @@ pResult->ublks = pEnc->current->sStat.ublks; } + emms(); + + if (pFrame->quant == 0) { + RateControlUpdate(&pEnc->rate_control, pEnc->current->quant, + pFrame->length, pFrame->intra); + } + if (input_valid) queue_image(pEnc, pFrame);