--- encoder.c 2003/05/12 12:27:32 1.95.2.21 +++ encoder.c 2003/05/16 17:16:21 1.95.2.23 @@ -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.95.2.21 2003/05/12 12:27:32 suxen_drol Exp $ + * $Id: encoder.c,v 1.95.2.23 2003/05/16 17:16:21 suxen_drol Exp $ * ****************************************************************************/ @@ -678,6 +678,11 @@ data.mb_height = pEnc->mbParam.mb_height; data.fincr = frame->fincr; data.fbase = pEnc->mbParam.fbase; + + for (i=0; i<3; i++) { + data.min_quant[i] = pEnc->mbParam.min_quant[i]; + data.max_quant[i] = pEnc->mbParam.max_quant[i]; + } data.reference.csp = XVID_CSP_USER; data.reference.plane[0] = pEnc->reference->image.y; @@ -1079,20 +1084,12 @@ type = MEanalysis(&pEnc->reference->image, pEnc->current, &pEnc->mbParam, pEnc->mbParam.iMaxKeyInterval, pEnc->iFrameNum, pEnc->bframenum_tail, xFrame->bframe_threshold); - - if (type == B_VOP && !(pEnc->current->vop_flags & XVID_VOP_DYNAMIC_BFRAMES)) { - type = P_VOP; /* disable dynamic bframes */ - } } } /* bframes buffer overflow check */ - if (type != I_VOP) { - if (pEnc->bframenum_tail >= pEnc->mbParam.max_bframes) { - type = P_VOP; - }else{ - type = B_VOP; - } + if (type == B_VOP && pEnc->bframenum_tail >= pEnc->mbParam.max_bframes) { + type = P_VOP; } pEnc->iFrameNum++;