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

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

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

revision 3, Fri Mar 8 02:46:11 2002 UTC revision 129, Sun Apr 21 02:30:24 2002 UTC
# Line 39  Line 39 
39   *   *
40   *************************************************************************/   *************************************************************************/
41    
42    #ifndef FREEBSD
43  #include <malloc.h>  #include <malloc.h>
44    #else
45    #include <stdlib.h>
46    #endif
47  #include <string.h>     // memset  #include <string.h>     // memset
48    
49  #include "xvid.h"  #include "xvid.h"
# Line 251  Line 254 
254    
255          case DEC_OPT_FRAME:          case DEC_OPT_FRAME:
256                  {                  {
257                          int csp_tmp;                          int csp_tmp = 0;
258    
259                          DEC_FRAME * dframe = (DEC_FRAME *)param1;                          DEC_FRAME * dframe = (DEC_FRAME *)param1;
260                          DINST * dcur = dinst_find(key);                          DINST * dcur = dinst_find(key);
261                          if (dcur == NULL)                          if (dcur == NULL)
# Line 309  Line 313 
313    
314  #define FRAMERATE_INCR          1001  #define FRAMERATE_INCR          1001
315    
316    int divx4_motion_presets[7] = {
317            0, PMV_QUICKSTOP16, PMV_EARLYSTOP16, PMV_EARLYSTOP16 | PMV_EARLYSTOP8,
318            PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EARLYSTOP8 | PMV_HALFPELDIAMOND8,
319            PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EARLYSTOP8 | PMV_HALFPELDIAMOND8,
320            PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EXTSEARCH16 |
321            PMV_EARLYSTOP8 | PMV_HALFPELREFINE8 | PMV_HALFPELDIAMOND8
322    };
323    
324    int quality;
325    
326  int encore(void * handle, int opt, void * param1, void * param2)  int encore(void * handle, int opt, void * param1, void * param2)
327  {  {
328          int xerr;          int xerr;
# Line 336  Line 350 
350                                  xparam.fincr = FRAMERATE_INCR;                                  xparam.fincr = FRAMERATE_INCR;
351                                  xparam.fbase = (int)(FRAMERATE_INCR * eparam->framerate);                                  xparam.fbase = (int)(FRAMERATE_INCR * eparam->framerate);
352                          }                          }
353                          xparam.bitrate = eparam->bitrate;                          xparam.rc_bitrate = eparam->bitrate;
354                          xparam.rc_buffersize = eparam->bitrate;                          xparam.rc_reaction_delay_factor = 16;
355                            xparam.rc_averaging_period = 100;
356                            xparam.rc_buffer = 100;
357                          xparam.min_quantizer = eparam->min_quantizer;                          xparam.min_quantizer = eparam->min_quantizer;
358                          xparam.max_quantizer = eparam->max_quantizer;                          xparam.max_quantizer = eparam->max_quantizer;
359                          xparam.max_key_interval = eparam->max_key_interval;                          xparam.max_key_interval = eparam->max_key_interval;
360                            quality = eparam->quality;
361    
362                          xerr = encoder_create(&xparam);                          xerr = encoder_create(&xparam);
363    
# Line 366  Line 383 
383                          xframe.bitstream = eframe->bitstream;                          xframe.bitstream = eframe->bitstream;
384                          xframe.length = eframe->length;                          xframe.length = eframe->length;
385    
386                            xframe.general = XVID_HALFPEL | XVID_H263QUANT;
387    
388                            if(quality > 3)
389                                    xframe.general |= XVID_INTER4V;
390    
391                            xframe.motion = divx4_motion_presets[quality];
392    
393                          xframe.image = eframe->image;                          xframe.image = eframe->image;
394                          switch (eframe->colorspace)                          switch (eframe->colorspace)
395                          {                          {

Legend:
Removed from v.3  
changed lines
  Added in v.129

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