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

Diff of /trunk/xvidcore/src/motion/motion_est.c

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

revision 960, Sat Mar 29 10:21:23 2003 UTC revision 961, Sat Mar 29 10:57:29 2003 UTC
# Line 659  Line 659 
659  CheckCandidateBits16(const int x, const int y, const int Direction, int * const dir, const SearchData * const data)  CheckCandidateBits16(const int x, const int y, const int Direction, int * const dir, const SearchData * const data)
660  {  {
661    
662          static int16_t in[64], coeff[64];          int16_t *in = data->dctSpace, *coeff = data->dctSpace + 64;
663          int32_t bits = 0, sum;          int32_t bits = 0, sum;
664          VECTOR * current;          VECTOR * current;
665          const uint8_t * ptr;          const uint8_t * ptr;
# Line 744  Line 744 
744  CheckCandidateBits8(const int x, const int y, const int Direction, int * const dir, const SearchData * const data)  CheckCandidateBits8(const int x, const int y, const int Direction, int * const dir, const SearchData * const data)
745  {  {
746    
747          static int16_t in[64], coeff[64];          int16_t *in = data->dctSpace, *coeff = data->dctSpace + 64;
748          int32_t sum, bits;          int32_t sum, bits;
749          VECTOR * current;          VECTOR * current;
750          const uint8_t * ptr;          const uint8_t * ptr;
# Line 1009  Line 1009 
1009          VECTOR currentMV[5];          VECTOR currentMV[5];
1010          VECTOR currentQMV[5];          VECTOR currentQMV[5];
1011          int32_t iMinSAD[5];          int32_t iMinSAD[5];
1012            DECLARE_ALIGNED_MATRIX(dct_space, 2, 64, int16_t, CACHE_LINE);
1013          SearchData Data;          SearchData Data;
1014          memset(&Data, 0, sizeof(SearchData));          memset(&Data, 0, sizeof(SearchData));
1015          Data.iEdgedWidth = iEdgedWidth;          Data.iEdgedWidth = iEdgedWidth;
# Line 1021  Line 1022 
1022          Data.qpel = pParam->m_quarterpel;          Data.qpel = pParam->m_quarterpel;
1023          Data.chroma = MotionFlags & PMV_CHROMA16;          Data.chroma = MotionFlags & PMV_CHROMA16;
1024          Data.rrv = current->global_flags & XVID_REDUCED;          Data.rrv = current->global_flags & XVID_REDUCED;
1025            Data.dctSpace = dct_space;
1026    
1027          if ((current->global_flags & XVID_REDUCED)) {          if ((current->global_flags & XVID_REDUCED)) {
1028                  mb_width = (pParam->width + 31) / 32;                  mb_width = (pParam->width + 31) / 32;
# Line 2547  Line 2549 
2549          int cbp = 0, bits = 0, t = 0, i, iDirection;          int cbp = 0, bits = 0, t = 0, i, iDirection;
2550          SearchData Data2, *Data8 = &Data2;          SearchData Data2, *Data8 = &Data2;
2551          int sumx = 0, sumy = 0;          int sumx = 0, sumy = 0;
2552          int16_t in[64], coeff[64];          int16_t *in = Data->dctSpace, *coeff = Data->dctSpace + 64;
2553    
2554          memcpy(Data8, Data, sizeof(SearchData));          memcpy(Data8, Data, sizeof(SearchData));
2555          CheckCandidate = CheckCandidateBits8;          CheckCandidate = CheckCandidateBits8;
# Line 2689  Line 2691 
2691          int bits = 1; //this one is ac/dc prediction flag. always 1.          int bits = 1; //this one is ac/dc prediction flag. always 1.
2692          int cbp = 0, i, t, dc = 0, b_dc = 1024;          int cbp = 0, i, t, dc = 0, b_dc = 1024;
2693          const uint32_t iQuant = Data->lambda16;          const uint32_t iQuant = Data->lambda16;
2694          int16_t in[64], coeff[64];          int16_t *in = Data->dctSpace, * coeff = Data->dctSpace + 64;
2695    
2696          for(i = 0; i < 4; i++) {          for(i = 0; i < 4; i++) {
2697                  uint32_t iDcScaler = get_dc_scaler(iQuant, 1);                  uint32_t iDcScaler = get_dc_scaler(iQuant, 1);

Legend:
Removed from v.960  
changed lines
  Added in v.961

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