--- branches/dev-api-3/xvidcore/src/encoder.c 2003/02/13 17:31:35 847 +++ branches/dev-api-3/xvidcore/src/encoder.c 2003/02/15 05:57:15 848 @@ -39,7 +39,7 @@ * MinChen * 14.04.2002 added FrameCodeB() * - * $Id: encoder.c,v 1.76.2.43 2003-02-12 14:10:50 syskin Exp $ + * $Id: encoder.c,v 1.76.2.44 2003-02-15 05:57:14 suxen_drol 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);