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

Diff of /trunk/xvidcore/src/encoder.c

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

revision 295, Fri Jul 12 12:26:55 2002 UTC revision 322, Sat Jul 20 22:30:30 2002 UTC
# Line 39  Line 39 
39   *             MinChen <chenm001@163.com>   *             MinChen <chenm001@163.com>
40   *  14.04.2002 added FrameCodeB()   *  14.04.2002 added FrameCodeB()
41   *   *
42   *  $Id: encoder.c,v 1.55 2002-07-12 12:26:23 suxen_drol Exp $   *  $Id: encoder.c,v 1.59 2002-07-20 22:30:30 albeu Exp $
43   *   *
44   ****************************************************************************/   ****************************************************************************/
45    
# Line 421  Line 421 
421          pEnc->mbParam.m_seconds = 0;          pEnc->mbParam.m_seconds = 0;
422          pEnc->mbParam.m_ticks = 0;          pEnc->mbParam.m_ticks = 0;
423          pEnc->m_framenum = 0;          pEnc->m_framenum = 0;
424            pEnc->last_pframe = 1;
425  #endif  #endif
426    
427          pParam->handle = (void *) pEnc;          pParam->handle = (void *) pEnc;
# Line 1723  Line 1724 
1724    
1725          *pBits = BitstreamPos(bs) - *pBits;          *pBits = BitstreamPos(bs) - *pBits;
1726    
1727    #ifdef BFRAMES
1728            pEnc->time_pp = ((int32_t)pEnc->mbParam.fbase - (int32_t)pEnc->last_pframe + (int32_t)pEnc->mbParam.m_ticks) % (int32_t)pEnc->mbParam.fbase;
1729    
1730            pEnc->last_pframe = pEnc->mbParam.m_ticks;
1731    #endif
1732          return 0;                                       // inter          return 0;                                       // inter
1733  }  }
1734    
# Line 1778  Line 1784 
1784          stop_inter_timer();          stop_inter_timer();
1785    
1786          start_timer();          start_timer();
1787          MotionEstimationBVOP(&pEnc->mbParam, frame, pEnc->reference->mbs, f_ref,          MotionEstimationBVOP(&pEnc->mbParam, frame,
1788              ((int32_t)pEnc->mbParam.fbase + (int32_t)pEnc->mbParam.m_ticks + 1 - (int32_t)pEnc->last_pframe) % pEnc->mbParam.fbase,
1789                                                    pEnc->time_pp,
1790                                                    pEnc->reference->mbs, f_ref,
1791                                                   &pEnc->f_refh, &pEnc->f_refv, &pEnc->f_refhv,                                                   &pEnc->f_refh, &pEnc->f_refv, &pEnc->f_refhv,
1792                                                   pEnc->current->mbs, b_ref, &pEnc->vInterH,                                                   pEnc->current->mbs, b_ref, &pEnc->vInterH,
1793                                                   &pEnc->vInterV, &pEnc->vInterHV);                                                   &pEnc->vInterV, &pEnc->vInterHV);
# Line 1844  Line 1853 
1853    
1854                          if ((mb->mode == MODE_INTERPOLATE || mb->mode == MODE_DIRECT)                          if ((mb->mode == MODE_INTERPOLATE || mb->mode == MODE_DIRECT)
1855                                  && mb->cbp == 0 && mb->mvs[0].x == 0 && mb->mvs[0].y == 0) {                                  && mb->cbp == 0 && mb->mvs[0].x == 0 && mb->mvs[0].y == 0) {
1856                                  mb->mode = 5;   // skipped                                  mb->mode = MODE_DIRECT_NONE_MV; // skipped
1857                          }                          }
1858    
1859                          if (mb->mode == MODE_INTERPOLATE || mb->mode == MODE_FORWARD) {                          if (mb->mode == MODE_INTERPOLATE || mb->mode == MODE_FORWARD) {

Legend:
Removed from v.295  
changed lines
  Added in v.322

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