[cvs] / xvidcore / src / plugins / plugin_2pass2.c Repository:
ViewVC logotype

Diff of /xvidcore/src/plugins/plugin_2pass2.c

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

revision 1.3, Thu Jun 10 18:13:42 2004 UTC revision 1.4, Fri Jun 11 08:44:30 2004 UTC
# Line 290  Line 290 
290          if (rc == NULL)          if (rc == NULL)
291                  return XVID_ERR_MEMORY;                  return XVID_ERR_MEMORY;
292    
293          rc->param = *param;          /* v1.0.x */
294            rc->param.version = param->version;
295            rc->param.bitrate = param->bitrate;
296            rc->param.filename = param->filename;
297            rc->param.keyframe_boost = param->keyframe_boost;
298            rc->param.curve_compression_high = param->curve_compression_high;
299            rc->param.curve_compression_low = param->curve_compression_low;
300            rc->param.overflow_control_strength = param->overflow_control_strength;
301            rc->param.max_overflow_improvement = param->max_overflow_improvement;
302            rc->param.max_overflow_degradation = param->max_overflow_degradation;
303            rc->param.kfreduction = param->kfreduction;
304            rc->param.kfthreshold = param->kfthreshold;
305            rc->param.container_frame_overhead = param->container_frame_overhead;
306    
307            if (XVID_VERSION_MINOR(param->version) >= 1) {
308                    rc->param.vbv_size = param->vbv_size;
309                    rc->param.vbv_initial = param->vbv_initial;
310                    rc->param.vbv_maxrate = param->vbv_maxrate;
311                    rc->param.vbv_peakrate = param->vbv_peakrate;
312            }else{
313                    rc->param.vbv_size =
314                    rc->param.vbv_initial =
315                    rc->param.vbv_maxrate =
316                    rc->param.vbv_peakrate = 0;
317            }
318    
319          /* Initialize all defaults */          /* Initialize all defaults */
320  #define _INIT(a, b) if((a) <= 0) (a) = (b)  #define _INIT(a, b) if((a) <= 0) (a) = (b)
# Line 1631  Line 1655 
1655    {    {
1656      float S_red = 0.f;    /* how much to redistribute */      float S_red = 0.f;    /* how much to redistribute */
1657      float S_elig = 0.f;   /* sum of bit for those scenes you can still swallow something*/      float S_elig = 0.f;   /* sum of bit for those scenes you can still swallow something*/
1658            float f_red;
1659      int l;      int l;
1660    
1661      for (l=0;l<num_scenes;l++)   /* check how much is wrong */      for (l=0;l<num_scenes;l++)   /* check how much is wrong */
# Line 1673  Line 1698 
1698        return -2;        return -2;
1699      }      }
1700    
1701      const float f_red = (1.f + S_red/S_elig);      f_red = (1.f + S_red/S_elig);
1702    
1703  #ifdef VBV_DEBUG  #ifdef VBV_DEBUG
1704      printf("Moving %.0f kB to avoid buffer underflow, correction factor: %.5f\n",S_red/1024.f,f_red);      printf("Moving %.0f kB to avoid buffer underflow, correction factor: %.5f\n",S_red/1024.f,f_red);

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

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