[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.136, Tue Dec 28 19:19:43 2010 UTC revision 1.139, Thu Feb 3 15:11:57 2011 UTC
# Line 1609  Line 1609 
1609                  memcpy((void *)((ptr_t)bs->start + pos),                  memcpy((void *)((ptr_t)bs->start + pos),
1610                             (void *)((ptr_t)pEnc->smpData[k].bs->start), len);                             (void *)((ptr_t)pEnc->smpData[k].bs->start), len);
1611    
1612                  current->length = pos += len;                  current->length += len;
1613                    pos += len;
1614    
1615                  /* collect stats */                  /* collect stats */
1616                  current->sStat.iTextBits += pEnc->smpData[k].sStat->iTextBits;                  current->sStat.iTextBits += pEnc->smpData[k].sStat->iTextBits;
# Line 2129  Line 2130 
2130    
2131          if (current->sStat.kblks + current->sStat.mblks <          if (current->sStat.kblks + current->sStat.mblks <
2132                  (pParam->frame_drop_ratio * mb_width * mb_height) / 100 &&                  (pParam->frame_drop_ratio * mb_width * mb_height) / 100 &&
2133                  ( (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)) &&
2134                    (current->coding_type == P_VOP) )
2135          {          {
2136                  current->sStat.kblks = current->sStat.mblks = current->sStat.iTextBits = 0;                  current->sStat.kblks = current->sStat.mblks = current->sStat.iTextBits = 0;
2137                  current->sStat.ublks = mb_width * mb_height;                  current->sStat.ublks = mb_width * mb_height;
# Line 2302  Line 2304 
2304                  image_setedges(f_ref, pEnc->mbParam.edged_width,                  image_setedges(f_ref, pEnc->mbParam.edged_width,
2305                                             pEnc->mbParam.edged_height, pEnc->mbParam.width,                                             pEnc->mbParam.edged_height, pEnc->mbParam.width,
2306                                             pEnc->mbParam.height, 0);                                             pEnc->mbParam.height, 0);
2307                  pEnc->current->is_edged = 1;                  pEnc->reference->is_edged = 1;
2308          }          }
2309    
2310          if (pEnc->reference->is_interpolated != 0) {          if (pEnc->reference->is_interpolated != 0) {
# Line 2333  Line 2335 
2335    
2336          frame->coding_type = B_VOP;          frame->coding_type = B_VOP;
2337    
2338          if (pEnc->current->vop_flags & XVID_VOP_RD_PSNRHVSM) {          if ((frame->vop_flags & XVID_VOP_RD_PSNRHVSM) && (frame->vop_flags & XVID_VOP_RD_BVOP)) {
2339                  image_block_variance(&pEnc->current->image, pEnc->mbParam.edged_width, pEnc->current->mbs,                  image_block_variance(&frame->image, pEnc->mbParam.edged_width, frame->mbs,
2340                                       pEnc->mbParam.mb_width, pEnc->mbParam.mb_height);                                       pEnc->mbParam.mb_width, pEnc->mbParam.mb_height);
2341          }          }
2342    

Legend:
Removed from v.1.136  
changed lines
  Added in v.1.139

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