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

Diff of /xvidcore/src/motion/estimation_bvop.c

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

revision 1.2, Mon Mar 22 22:36:24 2004 UTC revision 1.2.2.2, Tue Oct 12 21:06:34 2004 UTC
# Line 574  Line 574 
574                  b_dx = (b_dx >> 3) + roundtab_76[b_dx & 0xf];                  b_dx = (b_dx >> 3) + roundtab_76[b_dx & 0xf];
575    
576                  sum = sad8bi(pCur->u + 8 * x + 8 * y * stride,                  sum = sad8bi(pCur->u + 8 * x + 8 * y * stride,
577                                                  f_Ref->u + (y*8 + dy/2) * stride + x*8 + dx/2,                                                  f_Ref->u + ((int)y*8 + dy/2) * (int)stride + (int)x*8 + dx/2,
578                                                  b_Ref->u + (y*8 + b_dy/2) * stride + x*8 + b_dx/2,                                                  b_Ref->u + ((int)y*8 + b_dy/2) * (int)stride + (int)x*8 + b_dx/2,
579                                                  stride);                                                  stride);
580    
581                  if (sum >= MAX_CHROMA_SAD_FOR_SKIP * (int)Data->iQuant) return; /* no skip */                  if (sum >= MAX_CHROMA_SAD_FOR_SKIP * (int)Data->iQuant) return; /* no skip */
582    
583                  sum += sad8bi(pCur->v + 8*x + 8 * y * stride,                  sum += sad8bi(pCur->v + 8*x + 8 * y * stride,
584                                                  f_Ref->v + (y*8 + dy/2) * stride + x*8 + dx/2,                                                  f_Ref->v + ((int)y*8 + dy/2) * (int)stride + (int)x*8 + dx/2,
585                                                  b_Ref->v + (y*8 + b_dy/2) * stride + x*8 + b_dx/2,                                                  b_Ref->v + ((int)y*8 + b_dy/2) * (int)stride + (int)x*8 + b_dx/2,
586                                                  stride);                                                  stride);
587    
588                  if (sum >= MAX_CHROMA_SAD_FOR_SKIP * (int)Data->iQuant) return; /* no skip */                  if (sum >= MAX_CHROMA_SAD_FOR_SKIP * (int)Data->iQuant) return; /* no skip */
# Line 678  Line 678 
678                  if (pMB->mode == MODE_DIRECT_NONE_MV) return *Data->iMinSAD; /* skipped */                  if (pMB->mode == MODE_DIRECT_NONE_MV) return *Data->iMinSAD; /* skipped */
679          }          }
680    
         *Data->iMinSAD += Data->lambda16;  
681          skip_sad = *Data->iMinSAD;          skip_sad = *Data->iMinSAD;
682    
683          if (!(MotionFlags & XVID_ME_SKIP_DELTASEARCH)) {          if (!(MotionFlags & XVID_ME_SKIP_DELTASEARCH)) {
# Line 691  Line 690 
690                  xvid_me_SubpelRefine(Data, CheckCandidate);                  xvid_me_SubpelRefine(Data, CheckCandidate);
691          }          }
692    
693            *Data->iMinSAD += Data->lambda16;
694          *best_sad = *Data->iMinSAD;          *best_sad = *Data->iMinSAD;
695    
696          if (Data->qpel || b_mb->mode == MODE_INTER4V) pMB->mode = MODE_DIRECT;          if (Data->qpel || b_mb->mode == MODE_INTER4V) pMB->mode = MODE_DIRECT;

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.2.2.2

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