--- branches/dev-api-3/xvidcore/src/encoder.c 2002/11/23 14:57:09 671 +++ branches/dev-api-3/xvidcore/src/encoder.c 2002/11/28 14:45:21 688 @@ -39,7 +39,7 @@ * MinChen * 14.04.2002 added FrameCodeB() * - * $Id: encoder.c,v 1.76.2.21 2002-11-23 14:57:09 syskin Exp $ + * $Id: encoder.c,v 1.76.2.23 2002-11-28 14:45:21 syskin Exp $ * ****************************************************************************/ @@ -926,6 +926,7 @@ /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% * ivop/pvop/bvop selection * %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ + pEnc->iFrameNum++; if (pEnc->iFrameNum == 0 || pFrame->intra == 1 || pEnc->bframenum_dx50bvop >= 0 || (pFrame->intra < 0 && pEnc->iMaxKeyInterval > 0 && @@ -945,6 +946,14 @@ if (pEnc->current->global_flags & XVID_MPEGQUANT) pEnc->mbParam.m_quant_type = MPEG4_QUANT; + if ((pEnc->current->global_flags & XVID_CUSTOM_QMATRIX) > 0) { + if (pFrame->quant_intra_matrix != NULL) + set_intra_matrix(pFrame->quant_intra_matrix); + if (pFrame->quant_inter_matrix != NULL) + set_inter_matrix(pFrame->quant_inter_matrix); + } + + DPRINTF(DPRINTF_DEBUG,"*** IFRAME bf: head=%i tail=%i queue: head=%i tail=%i size=%i", pEnc->bframenum_head, pEnc->bframenum_tail, pEnc->queue_head, pEnc->queue_tail, pEnc->queue_size); @@ -1055,8 +1064,6 @@ goto bvop_loop; } - pEnc->iFrameNum++; - BitstreamPad(&bs); pFrame->length = BitstreamLength(&bs);