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

Diff of /trunk/xvidcore/src/encoder.c

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

revision 108, Sun Apr 7 11:57:47 2002 UTC revision 113, Wed Apr 10 07:40:51 2002 UTC
# Line 140  Line 140 
140                  image_create(&pEnc->vInterVf, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height) < 0 ||                  image_create(&pEnc->vInterVf, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height) < 0 ||
141                  image_create(&pEnc->vInterHV, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height) < 0 ||                  image_create(&pEnc->vInterHV, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height) < 0 ||
142                  image_create(&pEnc->vInterHVf, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height) < 0 ||                  image_create(&pEnc->vInterHVf, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height) < 0 ||
143    #ifdef _DEBUG
144                    image_create(&pEnc->sOriginal, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height) < 0 ||
145    #endif
146                  (pEnc->pMBs = xvid_malloc(sizeof(MACROBLOCK) * pEnc->mbParam.mb_width * pEnc->mbParam.mb_height, CACHE_LINE)) == NULL)                  (pEnc->pMBs = xvid_malloc(sizeof(MACROBLOCK) * pEnc->mbParam.mb_width * pEnc->mbParam.mb_height, CACHE_LINE)) == NULL)
147          {          {
148                  image_destroy(&pEnc->sCurrent, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);                  image_destroy(&pEnc->sCurrent, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);
# Line 149  Line 152 
152                  image_destroy(&pEnc->vInterVf, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);                  image_destroy(&pEnc->vInterVf, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);
153                  image_destroy(&pEnc->vInterHV, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);                  image_destroy(&pEnc->vInterHV, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);
154                  image_destroy(&pEnc->vInterHVf, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);                  image_destroy(&pEnc->vInterHVf, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);
155    #ifdef _DEBUG
156                    image_destroy(&pEnc->sOriginal, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);
157    #endif
158                  if (pEnc)                  if (pEnc)
159                  {                  {
160                          xvid_free(pEnc);                          xvid_free(pEnc);
# Line 190  Line 196 
196          image_destroy(&pEnc->vInterVf, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);          image_destroy(&pEnc->vInterVf, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);
197          image_destroy(&pEnc->vInterHV, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);          image_destroy(&pEnc->vInterHV, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);
198          image_destroy(&pEnc->vInterHVf, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);          image_destroy(&pEnc->vInterHVf, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);
199    #ifdef _DEBUG
200                    image_destroy(&pEnc->sOriginal, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height);
201    #endif
202          xvid_free(pEnc);          xvid_free(pEnc);
203    
204          return XVID_ERR_OK;          return XVID_ERR_OK;
# Line 201  Line 210 
210          Bitstream bs;          Bitstream bs;
211          uint32_t bits;          uint32_t bits;
212          uint16_t write_vol_header = 0;          uint16_t write_vol_header = 0;
213    #ifdef _DEBUG
214            float psnr;
215            uint8_t temp[100];
216    #endif
217    
218          start_global_timer();          start_global_timer();
219    
# Line 223  Line 236 
236    
237          EMMS();          EMMS();
238    
239    #ifdef _DEBUG
240            image_copy(&pEnc->sOriginal, &pEnc->sCurrent, pEnc->mbParam.edged_width, pEnc->mbParam.height);
241    #endif
242    
243          BitstreamInit(&bs, pFrame->bitstream, 0);          BitstreamInit(&bs, pFrame->bitstream, 0);
244    
245          if (pFrame->quant == 0)          if (pFrame->quant == 0)
# Line 323  Line 340 
340                  RateControlUpdate(pEnc->mbParam.quant, pFrame->length, pFrame->intra);                  RateControlUpdate(pEnc->mbParam.quant, pFrame->length, pFrame->intra);
341          }          }
342    
343    #ifdef _DEBUG
344            psnr = image_psnr(&pEnc->sOriginal, &pEnc->sCurrent, pEnc->mbParam.edged_width,
345                                    pEnc->mbParam.width, pEnc->mbParam.height);
346    
347            sprintf(temp, "PSNR: %f\n", psnr);
348            DEBUG(temp);
349    #endif
350    
351          pEnc->iFrameNum++;          pEnc->iFrameNum++;
352          image_swap(&pEnc->sCurrent, &pEnc->sReference);          image_swap(&pEnc->sCurrent, &pEnc->sReference);
353    

Legend:
Removed from v.108  
changed lines
  Added in v.113

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