[svn] / branches / dev-api-3 / xvidcore / src / motion / motion_est.c Repository:
ViewVC logotype

Diff of /branches/dev-api-3/xvidcore/src/motion/motion_est.c

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

revision 669, Thu Nov 21 11:07:10 2002 UTC revision 672, Sat Nov 23 15:09:31 2002 UTC
# Line 47  Line 47 
47  #define FINAL_SKIP_THRESH       (50)  #define FINAL_SKIP_THRESH       (50)
48  #define MAX_SAD00_FOR_SKIP      (20)  #define MAX_SAD00_FOR_SKIP      (20)
49  #define MAX_CHROMA_SAD_FOR_SKIP (22)  #define MAX_CHROMA_SAD_FOR_SKIP (22)
50  #define SKIP_THRESH_B (25)  #define SKIP_THRESH_B (15)
51    
52  #define CHECK_CANDIDATE(X,Y,D) { \  #define CHECK_CANDIDATE(X,Y,D) { \
53  (*CheckCandidate)((const int)(X),(const int)(Y), (D), &iDirection, data ); }  (*CheckCandidate)((const int)(X),(const int)(Y), (D), &iDirection, data ); }
# Line 1368  Line 1368 
1368                  Data->min_dy *= 2;                  Data->min_dy *= 2;
1369                  Data->referencemv = b_mb->qmvs;                  Data->referencemv = b_mb->qmvs;
1370          } else Data->referencemv = b_mb->mvs;          } else Data->referencemv = b_mb->mvs;
1371          Data->qpel_precision = 0; // it'm a trick. it's 1 not 0, but we need 0 here          Data->qpel_precision = 0; // it's a trick. it's 1 not 0, but we need 0 here
1372    
1373          for (k = 0; k < 4; k++) {          for (k = 0; k < 4; k++) {
1374                  pMB->mvs[k].x = Data->directmvF[k].x = ((TRB * Data->referencemv[k].x) / TRD);                  pMB->mvs[k].x = Data->directmvF[k].x = ((TRB * Data->referencemv[k].x) / TRD);
# Line 1458  Line 1458 
1458          *Data->iMinSAD +=  1 * Data->lambda16; // one bit is needed to code direct mode          *Data->iMinSAD +=  1 * Data->lambda16; // one bit is needed to code direct mode
1459          *best_sad = *Data->iMinSAD;          *best_sad = *Data->iMinSAD;
1460    
1461  //      if (b_mb->mode == MODE_INTER4V)          if (b_mb->mode == MODE_INTER4V)
1462                  pMB->mode = MODE_DIRECT;                  pMB->mode = MODE_DIRECT;
1463  //      else pMB->mode = MODE_DIRECT_NO4V; //for faster compensation          else pMB->mode = MODE_DIRECT_NO4V; //for faster compensation
1464    
1465          pMB->pmvs[3] = *Data->currentMV;          pMB->pmvs[3] = *Data->currentMV;
1466    
# Line 1536  Line 1536 
1536          bData.RefHV = fData->bRefHV = b_RefHV + (x + y * iEdgedWidth) * 16;          bData.RefHV = fData->bRefHV = b_RefHV + (x + y * iEdgedWidth) * 16;
1537          bData.RefQ = fData->RefQ;          bData.RefQ = fData->RefQ;
1538          fData->qpel_precision = bData.qpel_precision = 0;          fData->qpel_precision = bData.qpel_precision = 0;
1539          bData.rounding = 0; bData.qpel = fData->qpel;          bData.rounding = 0;
1540    
1541          bData.bpredMV = fData->predMV = *f_predMV;          bData.bpredMV = fData->predMV = *f_predMV;
1542          fData->bpredMV = bData.predMV = *b_predMV;          fData->bpredMV = bData.predMV = *b_predMV;
# Line 2037  Line 2037 
2037  }  }
2038    
2039  #define INTRA_THRESH    1350  #define INTRA_THRESH    1350
2040  #define INTER_THRESH    900  #define INTER_THRESH    1200
2041    
2042    
2043  int  int
# Line 2070  Line 2070 
2070                          IntraThresh -= (IntraThresh * (maxIntra - 5*(maxIntra - intraCount)))/maxIntra;                          IntraThresh -= (IntraThresh * (maxIntra - 5*(maxIntra - intraCount)))/maxIntra;
2071    
2072    
2073          InterThresh += 300 * (1 - bCount);          InterThresh += 400 * (1 - bCount);
2074          if (InterThresh < 200) InterThresh = 200;          if (InterThresh < 200) InterThresh = 200;
2075    
2076          if (sadInit) (*sadInit) ();          if (sadInit) (*sadInit) ();

Legend:
Removed from v.669  
changed lines
  Added in v.672

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