[svn] / trunk / xvidcore / examples / xvid_stat.c Repository:
ViewVC logotype

Diff of /trunk/xvidcore/examples/xvid_stat.c

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

revision 119, Sat Apr 13 22:21:46 2002 UTC revision 151, Mon Apr 29 07:23:16 2002 UTC
# Line 72  Line 72 
72          PMV_EARLYSTOP16,                                                // Q 1          PMV_EARLYSTOP16,                                                // Q 1
73          PMV_EARLYSTOP16,                                                // Q 2          PMV_EARLYSTOP16,                                                // Q 2
74          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16,                          // Q 3          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16,                          // Q 3
75          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EARLYSTOP8,         // Q 4          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16,                          // Q 4
76          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EARLYSTOP8          // Q 5          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EARLYSTOP8          // Q 5
77                          | PMV_HALFPELREFINE8,                          | PMV_HALFPELREFINE8,
78          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EXTSEARCH16         // Q 6          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EXTSEARCH16         // Q 6
# Line 81  Line 81 
81    
82  int general_presets[7] = {  int general_presets[7] = {
83          XVID_H263QUANT, /* or use XVID_MPEGQUANT */             // Q 0          XVID_H263QUANT, /* or use XVID_MPEGQUANT */             // Q 0
84          XVID_H263QUANT,                                         // Q 1          XVID_MPEGQUANT,                                         // Q 1
85          XVID_H263QUANT,                                         // Q 2          XVID_H263QUANT,                                         // Q 2
86          XVID_H263QUANT | XVID_HALFPEL,                          // Q 3          XVID_H263QUANT | XVID_HALFPEL,                          // Q 3
87          XVID_H263QUANT | XVID_HALFPEL | XVID_INTER4V,           // Q 4          XVID_H263QUANT | XVID_HALFPEL | XVID_INTER4V,           // Q 4
# Line 91  Line 91 
91    
92  /* my default values for encoding */  /* my default values for encoding */
93    
94    #define ABS_MAXFRAMENR 9999               // max number of frames
95    
96  int ARG_BITRATE=900;  int ARG_BITRATE=900;
97  int ARG_QUANTI=0;  int ARG_QUANTI=0;
98    
# Line 99  Line 101 
101  int ARG_MAXQUANT=31;  int ARG_MAXQUANT=31;
102  float ARG_FRAMERATE=25.00;  float ARG_FRAMERATE=25.00;
103    
104    int ARG_MAXFRAMENR=ABS_MAXFRAMENR;
105    
106    
107  #define MAX(A,B) ( ((A)>(B)) ? (A) : (B) )  #define MAX(A,B) ( ((A)>(B)) ? (A) : (B) )
108  #define SMALL_EPS 1e-10  #define SMALL_EPS 1e-10
# Line 117  Line 121 
121  int pgmflag = 0;                // a flag, if input is in PGM format, overwritten in init-phase  int pgmflag = 0;                // a flag, if input is in PGM format, overwritten in init-phase
122  char filepath[256] = "./";      // the path where to save output  char filepath[256] = "./";      // the path where to save output
123    
 #define MAXFILENR 9999          // max number of frames (this should be made into an option!)  
   
124  void *enc_handle = NULL;                // internal structures (handles) for encoding  void *enc_handle = NULL;                // internal structures (handles) for encoding
125  void *dec_handle = NULL;                // and decoding  void *dec_handle = NULL;                // and decoding
126    
# Line 282  Line 284 
284                  xparam.fincr = FRAMERATE_INCR;                  xparam.fincr = FRAMERATE_INCR;
285                  xparam.fbase = (int)(FRAMERATE_INCR * ARG_FRAMERATE);                  xparam.fbase = (int)(FRAMERATE_INCR * ARG_FRAMERATE);
286          }          }
287          xparam.bitrate = ARG_BITRATE*1000;          xparam.rc_reaction_delay_factor = 16;
288            xparam.rc_averaging_period = 100;
289            xparam.rc_buffer = 10;
290            xparam.rc_bitrate = ARG_BITRATE*1000;
291          xparam.min_quantizer = 1;          xparam.min_quantizer = 1;
292          xparam.max_quantizer = 31;          xparam.max_quantizer = 31;
293          xparam.max_key_interval = (int)ARG_FRAMERATE*10;          xparam.max_key_interval = (int)ARG_FRAMERATE*10;
294          xparam.rc_buffersize    = 2;  
295                  /* I use a small value here, since will not encode whole movies, but short clips */                  /* I use a small value here, since will not encode whole movies, but short clips */
296    
297          xerr = xvid_encore(NULL, XVID_ENC_CREATE, &xparam, NULL);          xerr = xvid_encore(NULL, XVID_ENC_CREATE, &xparam, NULL);
# Line 407  Line 412 
412    int status;    int status;
413    
414    int m4v_size;    int m4v_size;
415    int frame_type[MAXFILENR];    int frame_type[ABS_MAXFRAMENR];
416    int Iframes=0, Pframes=0, Bframes=0;    int Iframes=0, Pframes=0, Bframes=0;
417    double framepsnr[MAXFILENR];    double framepsnr[ABS_MAXFRAMENR];
418    
419    double Ipsnr=0.,Imaxpsnr=0.,Iminpsnr=999.,Ivarpsnr=0.;    double Ipsnr=0.,Imaxpsnr=0.,Iminpsnr=999.,Ivarpsnr=0.;
420    double Ppsnr=0.,Pmaxpsnr=0.,Pminpsnr=999.,Pvarpsnr=0.;    double Ppsnr=0.,Pmaxpsnr=0.,Pminpsnr=999.,Pvarpsnr=0.;
# Line 471  Line 476 
476          printf("Framerate %6.3f fps\n",ARG_FRAMERATE);          printf("Framerate %6.3f fps\n",ARG_FRAMERATE);
477    }    }
478    
479      if (argc>=7)
480      {     ARG_MAXFRAMENR = atoi(argv[6]);
481            if ( (ARG_MAXFRAMENR <= 0) )
482             { fprintf(stderr,"Wrong number of frames\n"); return -1; }
483            printf("max. Framenr. %d\n",ARG_MAXFRAMENR);
484      }
485    
486  /* now we know the sizes, so allocate memory */  /* now we know the sizes, so allocate memory */
487    
488    in_buffer = (unsigned char *) malloc(XDIM*YDIM);    in_buffer = (unsigned char *) malloc(XDIM*YDIM);
# Line 588  Line 600 
600    
601          filenr++;          filenr++;
602    
603     } while ( (!status) && (filenr<MAXFILENR) );     } while ( (!status) && (filenr<ARG_MAXFRAMENR) );
604    
605    
606    

Legend:
Removed from v.119  
changed lines
  Added in v.151

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