[cvs] / xvidcore / src / encoder.c Repository:
ViewVC logotype

Diff of /xvidcore/src/encoder.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.129, Thu Dec 14 13:09:00 2006 UTC revision 1.133, Sun Nov 28 15:18:21 2010 UTC
# Line 3  Line 3 
3   *  XVID MPEG-4 VIDEO CODEC   *  XVID MPEG-4 VIDEO CODEC
4   *  - Encoder main module -   *  - Encoder main module -
5   *   *
6   *  Copyright(C) 2002     Michael Militzer <isibaar@xvid.org>   *  Copyright(C) 2002-2010 Michael Militzer <isibaar@xvid.org>
7   *                         2002-2003 Peter Ross <pross@xvid.org>   *                         2002-2003 Peter Ross <pross@xvid.org>
8   *                         2002   Daniel Smith <danielsmith@astroboymail.com>   *                         2002   Daniel Smith <danielsmith@astroboymail.com>
9   *   *
# Line 435  Line 435 
435          /* timestamp stuff */          /* timestamp stuff */
436    
437          pEnc->mbParam.m_stamp = 0;          pEnc->mbParam.m_stamp = 0;
438          pEnc->m_framenum = 0;          pEnc->m_framenum = create->start_frame_num;
439          pEnc->current->stamp = 0;          pEnc->current->stamp = 0;
440          pEnc->reference->stamp = 0;          pEnc->reference->stamp = 0;
441    
# Line 997  Line 997 
997          return;          return;
998  }  }
999    
   
1000  /*****************************************************************************  /*****************************************************************************
1001   * IPB frame encoder entry point   * IPB frame encoder entry point
1002   *   *
# Line 1307  Line 1306 
1306                  if (pEnc->current->stamp > 0) {                  if (pEnc->current->stamp > 0) {
1307                          call_plugins(pEnc, pEnc->reference, &pEnc->sOriginal, XVID_PLG_AFTER, NULL, NULL, stats);                          call_plugins(pEnc, pEnc->reference, &pEnc->sOriginal, XVID_PLG_AFTER, NULL, NULL, stats);
1308                  }                  }
1309                  else          else if (stats) {
1310                          stats->type = XVID_TYPE_NOTHING;                          stats->type = XVID_TYPE_NOTHING;
1311          }          }
1312            }
1313    
1314          /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%          /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1315           * closed-gop           * closed-gop
# Line 1655  Line 1655 
1655    
1656          current->coding_type = P_VOP;          current->coding_type = P_VOP;
1657    
1658            if (current->vop_flags & XVID_VOP_RD_PSNRHVSM) {
1659                    image_block_variance(&current->image, pParam->edged_width, current->mbs,
1660                                         pParam->mb_width, pParam->mb_height);
1661            }
1662    
1663          call_plugins(pEnc, pEnc->current, NULL, XVID_PLG_FRAME, NULL, NULL, NULL);          call_plugins(pEnc, pEnc->current, NULL, XVID_PLG_FRAME, NULL, NULL, NULL);
1664    
1665          SetMacroblockQuants(&pEnc->mbParam, current);          SetMacroblockQuants(&pEnc->mbParam, current);
# Line 1883  Line 1888 
1888  #if 0  #if 0
1889          DPRINTF(XVID_DEBUG_DEBUG, "kmu %i %i %i\n", current->sStat.kblks, current->sStat.mblks, current->sStat.ublks);          DPRINTF(XVID_DEBUG_DEBUG, "kmu %i %i %i\n", current->sStat.kblks, current->sStat.mblks, current->sStat.ublks);
1890  #endif  #endif
1891          if (current->sStat.kblks + current->sStat.mblks <=          if (current->sStat.kblks + current->sStat.mblks <
1892                  (pParam->frame_drop_ratio * mb_width * mb_height) / 100 &&                  (pParam->frame_drop_ratio * mb_width * mb_height) / 100 &&
1893                  ( (pEnc->bframenum_head >= pEnc->bframenum_tail) || !(pEnc->mbParam.global_flags & XVID_GLOBAL_CLOSED_GOP)) )                  ( (pEnc->bframenum_head >= pEnc->bframenum_tail) || !(pEnc->mbParam.global_flags & XVID_GLOBAL_CLOSED_GOP)) )
1894          {          {
# Line 2002  Line 2007 
2007          }          }
2008    
2009          frame->coding_type = B_VOP;          frame->coding_type = B_VOP;
2010    
2011            if (pEnc->current->vop_flags & XVID_VOP_RD_PSNRHVSM) {
2012                    image_block_variance(&pEnc->current->image, pEnc->mbParam.edged_width, pEnc->current->mbs,
2013                                         pEnc->mbParam.mb_width, pEnc->mbParam.mb_height);
2014            }
2015    
2016          call_plugins(pEnc, frame, NULL, XVID_PLG_FRAME, NULL, NULL, NULL);          call_plugins(pEnc, frame, NULL, XVID_PLG_FRAME, NULL, NULL, NULL);
2017    
2018          frame->fcode = frame->bcode = pEnc->current->fcode;          frame->fcode = frame->bcode = pEnc->current->fcode;

Legend:
Removed from v.1.129  
changed lines
  Added in v.1.133

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4