[svn] / branches / dev-api-3 / vfw / src / codec.c Repository:
ViewVC logotype

Diff of /branches/dev-api-3/vfw/src/codec.c

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

revision 127, Wed Apr 17 14:04:41 2002 UTC revision 228, Thu Jun 20 10:51:08 2002 UTC
# Line 23  Line 23 
23   *   *
24   *      History:   *      History:
25   *   *
26     *      25.04.2002      ICDECOMPRESS_PREROLL
27   *      17.04.2002      re-enabled lumi masking for 1st pass   *      17.04.2002      re-enabled lumi masking for 1st pass
28   *      15.04.2002      updated cbr support   *      15.04.2002      updated cbr support
29   *      04.04.2002      separated 2-pass code to 2pass.c   *      04.04.2002      separated 2-pass code to 2pass.c
# Line 217  Line 218 
218    
219  LRESULT compress_get_size(CODEC * codec, BITMAPINFO * lpbiInput, BITMAPINFO * lpbiOutput)  LRESULT compress_get_size(CODEC * codec, BITMAPINFO * lpbiInput, BITMAPINFO * lpbiOutput)
220  {  {
221          return lpbiOutput->bmiHeader.biWidth * lpbiOutput->bmiHeader.biHeight * 3;          return
222    #ifdef BFRAMES
223             2 *
224    #endif
225            lpbiOutput->bmiHeader.biWidth * lpbiOutput->bmiHeader.biHeight * 3;
226  }  }
227    
228    
# Line 288  Line 293 
293          param.max_quantizer = codec->config.max_pquant;          param.max_quantizer = codec->config.max_pquant;
294          param.max_key_interval = codec->config.max_key_interval;          param.max_key_interval = codec->config.max_key_interval;
295    
296    #ifdef BFRAMES
297        param.packed = codec->config.packed;
298            param.max_bframes = codec->config.max_bframes;
299            param.bquant_ratio = codec->config.bquant_ratio;
300    #endif
301    
302          switch(xvid_encore(0, XVID_ENC_CREATE, &param, NULL))          switch(xvid_encore(0, XVID_ENC_CREATE, &param, NULL))
303          {          {
304          case XVID_ERR_FAIL :          case XVID_ERR_FAIL :
# Line 373  Line 384 
384    
385          if (codec->config.interlacing)          if (codec->config.interlacing)
386                  frame.general |= XVID_INTERLACING;                  frame.general |= XVID_INTERLACING;
387    // fix 1pass modes/hinted MV by koepi
388            if (codec->config.hinted_me && (codec->config.mode == DLG_MODE_CBR || codec->config.mode == DLG_MODE_VBR_QUAL || codec->config.mode == DLG_MODE_VBR_QUANT))
389            {
390                    codec->config.hinted_me = 0;
391            }
392    // end of ugly hack
393    
394          if (codec->config.hinted_me && codec->config.mode == DLG_MODE_2PASS_1)          if (codec->config.hinted_me && codec->config.mode == DLG_MODE_2PASS_1)
395          {          {
# Line 489  Line 506 
506                  frame.intra = 0;                  frame.intra = 0;
507          }          }
508    
509            OutputDebugString(" ");
510          switch (xvid_encore(codec->ehandle, XVID_ENC_ENCODE, &frame, &stats))          switch (xvid_encore(codec->ehandle, XVID_ENC_ENCODE, &frame, &stats))
511          {          {
512          case XVID_ERR_FAIL :          case XVID_ERR_FAIL :
# Line 667  Line 685 
685          frame.image = icd->lpOutput;          frame.image = icd->lpOutput;
686          frame.stride = icd->lpbiOutput->biWidth;          frame.stride = icd->lpbiOutput->biWidth;
687    
688          if (~((icd->dwFlags & ICDECOMPRESS_HURRYUP) | (icd->dwFlags & ICDECOMPRESS_UPDATE)))          if (~((icd->dwFlags & ICDECOMPRESS_HURRYUP) | (icd->dwFlags & ICDECOMPRESS_UPDATE) | (icd->dwFlags & ICDECOMPRESS_PREROLL)))
689          {          {
690                  if ((frame.colorspace = get_colorspace(icd->lpbiOutput)) == XVID_CSP_NULL)                  if ((frame.colorspace = get_colorspace(icd->lpbiOutput)) == XVID_CSP_NULL)
691                  {                  {

Legend:
Removed from v.127  
changed lines
  Added in v.228

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