[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.15, Fri Mar 29 07:03:24 2002 UTC revision 1.18, Fri Mar 29 07:24:57 2002 UTC
# Line 188  Line 188 
188          image_destroy(&pEnc->sReference, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);          image_destroy(&pEnc->sReference, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);
189          image_destroy(&pEnc->vInterH, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);          image_destroy(&pEnc->vInterH, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);
190          image_destroy(&pEnc->vInterV, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);          image_destroy(&pEnc->vInterV, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);
191            image_destroy(&pEnc->vInterVf, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);
192          image_destroy(&pEnc->vInterHV, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);          image_destroy(&pEnc->vInterHV, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);
193            image_destroy(&pEnc->vInterHVf, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);
194          xvid_free(pEnc);          xvid_free(pEnc);
195    
196          destroy_vlc_tables();          destroy_vlc_tables();
# Line 436  Line 438 
438          else          else
439                  iLimit = pEnc->mbParam.mb_width * pEnc->mbParam.mb_height + 1;                  iLimit = pEnc->mbParam.mb_width * pEnc->mbParam.mb_height + 1;
440    
441          if ((pEnc->mbParam.global_flags & XVID_HALFPEL) > 0)          if ((pEnc->mbParam.global_flags & XVID_HALFPEL) > 0) {
         {  
                 IMAGE *vInterV = NULL;  
                 IMAGE *vInterVf = NULL;  
                 IMAGE *vInterHV = NULL;  
                 IMAGE *vInterHVf = NULL;  
   
                 // interpolate fields together if field ME is used  
                 if (pEnc->mbParam.global_flags & XVID_INTERLACING &&  
                         pEnc->mbParam.global_flags & XVID_FIELDME)  
                 {  
                         vInterVf = &pEnc->vInterVf;  
                         vInterHVf = &pEnc->vInterHVf;  
                 }  
   
                 // perform normal interpolation, unless only field-based ME is allowed  
                 if (!(pEnc->mbParam.global_flags & XVID_INTERLACING) ||  
                         !(pEnc->mbParam.global_flags & XVID_FIELDMEONLY))  
                 {  
                         vInterV = &pEnc->vInterV;  
                         vInterHV = &pEnc->vInterHV;  
                 }  
   
442                  start_timer();                  start_timer();
443                  image_interpolate(pRef,                  image_interpolate(pRef, &pEnc->vInterH, &pEnc->vInterV, &pEnc->vInterHV,
444                                  &pEnc->vInterH,                                    pEnc->mbParam.edged_width, pEnc->mbParam.edged_height,
                                 vInterV, vInterVf,  
                                 vInterHV, vInterHVf,  
                                 pEnc->mbParam.edged_width,  
                                 pEnc->mbParam.edged_height,  
445                                  pEnc->mbParam.rounding_type);                                  pEnc->mbParam.rounding_type);
446                  stop_inter_timer();                  stop_inter_timer();
447          }          }
448    
449          start_timer();          start_timer();
450          bIntra = MotionEstimation(pEnc->pMBs,          bIntra = MotionEstimation(pEnc->pMBs, &pEnc->mbParam, &pEnc->sReference,
451                                  &pEnc->mbParam,                                    &pEnc->vInterH, &pEnc->vInterV,
452                                  &pEnc->sReference,                                    &pEnc->vInterHV, &pEnc->sCurrent, iLimit);
                                 &pEnc->vInterH,  
                                 &pEnc->vInterV, &pEnc->vInterVf,  
                                 &pEnc->vInterHV, &pEnc->vInterHVf,  
                                 &pEnc->sCurrent,  
                                 iLimit);  
453          stop_motion_timer();          stop_motion_timer();
454    
455          if (bIntra == 1)          if (bIntra == 1)
# Line 513  Line 484 
484                                                       x, y,                                                       x, y,
485                                                       &pEnc->sReference,                                                       &pEnc->sReference,
486                                                       &pEnc->vInterH,                                                       &pEnc->vInterH,
487                                                       &pEnc->vInterV, &pEnc->vInterVf,                                                       &pEnc->vInterV,
488                                                       &pEnc->vInterHV, &pEnc->vInterHVf,                                                       &pEnc->vInterHV,
489                                                       &pEnc->sCurrent,                                                       &pEnc->sCurrent,
490                                                       dct_codes,                                                       dct_codes,
491                                                       pEnc->mbParam.width,                                                       pEnc->mbParam.width,

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.18

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