26 |
* along with this program; if not, write to the Free Software |
* along with this program; if not, write to the Free Software |
27 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
28 |
* |
* |
29 |
* $Id: encoder.c,v 1.95.2.11 2003-03-22 13:49:49 syskin Exp $ |
* $Id: encoder.c,v 1.95.2.12 2003-03-23 04:01:48 suxen_drol Exp $ |
30 |
* |
* |
31 |
****************************************************************************/ |
****************************************************************************/ |
32 |
|
|
597 |
xvid_free(pEnc->temp_dquants); |
xvid_free(pEnc->temp_dquants); |
598 |
} |
} |
599 |
|
|
600 |
|
|
601 |
|
if (pEnc->num_plugins>0) |
602 |
|
{ |
603 |
|
xvid_plg_destroy_t pdestroy; |
604 |
|
memset(&pdestroy, 0, sizeof(xvid_plg_destroy_t)); |
605 |
|
|
606 |
|
pdestroy.version = XVID_VERSION; |
607 |
|
pdestroy.num_frames = pEnc->m_framenum; |
608 |
|
|
609 |
for (i=0; i<pEnc->num_plugins;i++) { |
for (i=0; i<pEnc->num_plugins;i++) { |
610 |
if (pEnc->plugins[i].func) { |
if (pEnc->plugins[i].func) { |
611 |
pEnc->plugins[i].func(pEnc->plugins[i].param, XVID_PLG_DESTROY, 0, 0); |
pEnc->plugins[i].func(pEnc->plugins[i].param, XVID_PLG_DESTROY, &pdestroy, 0); |
612 |
} |
} |
613 |
} |
} |
614 |
xvid_free(pEnc->plugins); |
xvid_free(pEnc->plugins); |
615 |
|
} |
616 |
|
|
617 |
xvid_free(pEnc); |
xvid_free(pEnc); |
618 |
|
|
1006 |
* init pEnc->current fields |
* init pEnc->current fields |
1007 |
* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ |
* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ |
1008 |
|
|
1009 |
|
inc_frame_num(pEnc); |
1010 |
|
|
1011 |
pEnc->current->fincr = pEnc->mbParam.fincr>0 ? pEnc->mbParam.fincr : frame->fincr; |
pEnc->current->fincr = pEnc->mbParam.fincr>0 ? pEnc->mbParam.fincr : frame->fincr; |
1012 |
pEnc->current->vol_flags = pEnc->mbParam.vol_flags; |
pEnc->current->vol_flags = pEnc->mbParam.vol_flags; |
1013 |
pEnc->current->vop_flags = frame->vop_flags; |
pEnc->current->vop_flags = frame->vop_flags; |
1015 |
pEnc->current->fcode = pEnc->mbParam.m_fcode; |
pEnc->current->fcode = pEnc->mbParam.m_fcode; |
1016 |
pEnc->current->bcode = pEnc->mbParam.m_fcode; |
pEnc->current->bcode = pEnc->mbParam.m_fcode; |
1017 |
|
|
1018 |
|
|
1019 |
if ((xFrame->vop_flags & XVID_CHROMAOPT)) { |
if ((xFrame->vop_flags & XVID_CHROMAOPT)) { |
1020 |
image_chroma_optimize(&pEnc->current->image, |
image_chroma_optimize(&pEnc->current->image, |
1021 |
pEnc->mbParam.width, pEnc->mbParam.height, pEnc->mbParam.edged_width); |
pEnc->mbParam.width, pEnc->mbParam.height, pEnc->mbParam.edged_width); |
1059 |
} |
} |
1060 |
} |
} |
1061 |
|
|
|
inc_frame_num(pEnc); |
|
1062 |
pEnc->iFrameNum++; |
pEnc->iFrameNum++; |
1063 |
|
|
1064 |
if ((pEnc->current->vop_flags & XVID_DEBUG)) { |
if ((pEnc->current->vop_flags & XVID_DEBUG)) { |