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

Diff of /xvidcore/src/divx4.c

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

revision 1.3, Fri Mar 8 22:26:15 2002 UTC revision 1.8, Sat Apr 27 23:51:59 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 310  Line 314 
314  #define FRAMERATE_INCR          1001  #define FRAMERATE_INCR          1001
315    
316  int divx4_motion_presets[7] = {  int divx4_motion_presets[7] = {
317          0, PMV_QUICKSTOP16, PMV_EARLYSTOP16, PMV_EARLYSTOP16 | PMV_EARLYSTOP8,          0,
318            PMV_QUICKSTOP16,
319            PMV_EARLYSTOP16,
320            PMV_EARLYSTOP16 | PMV_HALFPELREFINE16,
321          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EARLYSTOP8 | PMV_HALFPELDIAMOND8,          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EARLYSTOP8 | PMV_HALFPELDIAMOND8,
322          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EARLYSTOP8 | PMV_HALFPELDIAMOND8,          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EARLYSTOP8 | PMV_HALFPELDIAMOND8,
323          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EXTSEARCH16 |          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EXTSEARCH16 | PMV_EARLYSTOP8 | PMV_HALFPELREFINE8 | PMV_HALFPELDIAMOND8
324          PMV_EARLYSTOP8 | PMV_HALFPELREFINE8 | PMV_HALFPELDIAMOND8  };
325    
326    
327    int divx4_general_presets[7] = {
328            0,
329            XVID_H263QUANT,
330            XVID_H263QUANT,
331            XVID_H263QUANT | XVID_HALFPEL,
332            XVID_H263QUANT | XVID_INTER4V | XVID_HALFPEL,
333            XVID_H263QUANT | XVID_INTER4V | XVID_HALFPEL,
334            XVID_H263QUANT | XVID_INTER4V | XVID_HALFPEL
335  };  };
336    
337  int quality;  int quality;
# Line 346  Line 363 
363                                  xparam.fincr = FRAMERATE_INCR;                                  xparam.fincr = FRAMERATE_INCR;
364                                  xparam.fbase = (int)(FRAMERATE_INCR * eparam->framerate);                                  xparam.fbase = (int)(FRAMERATE_INCR * eparam->framerate);
365                          }                          }
366                          xparam.bitrate = eparam->bitrate;                          xparam.rc_bitrate = eparam->bitrate;
367                          xparam.rc_buffersize = 10 * eparam->bitrate;                          xparam.rc_reaction_delay_factor = 16;
368                            xparam.rc_averaging_period = 100;
369                            xparam.rc_buffer = 100;
370                          xparam.min_quantizer = eparam->min_quantizer;                          xparam.min_quantizer = eparam->min_quantizer;
371                          xparam.max_quantizer = eparam->max_quantizer;                          xparam.max_quantizer = eparam->max_quantizer;
372                          xparam.max_key_interval = eparam->max_key_interval;                          xparam.max_key_interval = eparam->max_key_interval;
# Line 377  Line 396 
396                          xframe.bitstream = eframe->bitstream;                          xframe.bitstream = eframe->bitstream;
397                          xframe.length = eframe->length;                          xframe.length = eframe->length;
398    
                         xframe.general = XVID_HALFPEL | XVID_H263QUANT;  
   
                         if(quality > 3)  
                                 xframe.general |= XVID_INTER4V;  
   
399                          xframe.motion = divx4_motion_presets[quality];                          xframe.motion = divx4_motion_presets[quality];
400                            xframe.general = divx4_general_presets[quality];
401    
402                          xframe.image = eframe->image;                          xframe.image = eframe->image;
403                          switch (eframe->colorspace)                          switch (eframe->colorspace)

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

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