--- trunk/xvidcore/src/encoder.c 2003/02/15 15:22:20 852 +++ trunk/xvidcore/src/encoder.c 2003/02/15 18:48:15 853 @@ -39,7 +39,7 @@ * MinChen * 14.04.2002 added FrameCodeB() * - * $Id: encoder.c,v 1.91 2003-02-15 15:22:17 edgomez Exp $ + * $Id: encoder.c,v 1.92 2003-02-15 18:48:15 edgomez Exp $ * ****************************************************************************/ @@ -631,6 +631,11 @@ return; stop_conv_timer(); + if ((pFrame->general & XVID_CHROMAOPT)) { + image_chroma_optimize(&pEnc->queue[pEnc->queue_tail], + pEnc->mbParam.width, pEnc->mbParam.height, pEnc->mbParam.edged_width); + } + pEnc->queue_size++; pEnc->queue_tail = (pEnc->queue_tail + 1) % pEnc->mbParam.max_bframes; } @@ -850,6 +855,11 @@ } stop_conv_timer(); + if ((pFrame->general & XVID_CHROMAOPT)) { + image_chroma_optimize(&pEnc->current->image, + pEnc->mbParam.width, pEnc->mbParam.height, pEnc->mbParam.edged_width); + } + // queue input frame, and dequue next image if (pEnc->queue_size > 0) { @@ -1238,6 +1248,11 @@ return XVID_ERR_FORMAT; stop_conv_timer(); + if ((pFrame->general & XVID_CHROMAOPT)) { + image_chroma_optimize(&pEnc->current->image, + pEnc->mbParam.width, pEnc->mbParam.height, pEnc->mbParam.edged_width); + } + if (pFrame->general & XVID_EXTRASTATS) { image_copy(&pEnc->sOriginal, &pEnc->current->image, pEnc->mbParam.edged_width, pEnc->mbParam.height);