[svn] / branches / dev-api-4 / xvidcore / examples / xvid_stat.c Repository:
ViewVC logotype

Diff of /branches/dev-api-4/xvidcore/examples/xvid_stat.c

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

revision 548, Fri Sep 27 18:35:35 2002 UTC revision 684, Wed Nov 27 21:09:10 2002 UTC
# Line 19  Line 19 
19   *  along with this program; if not, write to the Free Software   *  along with this program; if not, write to the Free Software
20   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
21   *   *
22   * $Id: xvid_stat.c,v 1.12 2002-09-27 18:35:35 edgomez Exp $   * $Id: xvid_stat.c,v 1.16 2002-11-27 21:09:10 edgomez Exp $
23   *   *
24   ****************************************************************************/   ****************************************************************************/
25    
# Line 112  Line 112 
112   ****************************************************************************/   ****************************************************************************/
113    
114  static int const motion_presets[7] = {  static int const motion_presets[7] = {
115          0,                                                        // Q 0          0,                                                        /* Q 0 */
116          PMV_EARLYSTOP16,                                          // Q 1          PMV_EARLYSTOP16,                                          /* Q 1 */
117          PMV_EARLYSTOP16,                                          // Q 2          PMV_EARLYSTOP16,                                          /* Q 2 */
118          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16,                    // Q 3          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16,                    /* Q 3 */
119          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16,                    // Q 4          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16,                    /* Q 4 */
120          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EARLYSTOP8 |  // Q 5          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EARLYSTOP8 |  /* Q 5 */
121          PMV_HALFPELREFINE8,          PMV_HALFPELREFINE8,
122          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EXTSEARCH16 | // Q 6          PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EXTSEARCH16 | /* Q 6 */
123          PMV_USESQUARES16 | PMV_EARLYSTOP8 | PMV_HALFPELREFINE8          PMV_USESQUARES16 | PMV_EARLYSTOP8 | PMV_HALFPELREFINE8
124  };  };
125    
126  static int const general_presets[7] = {  static int const general_presets[7] = {
127          XVID_H263QUANT,                               // Q 0          XVID_H263QUANT,                               /* Q 0 */
128          XVID_MPEGQUANT,                               // Q 1          XVID_MPEGQUANT,                               /* Q 1 */
129          XVID_H263QUANT,                               // Q 2          XVID_H263QUANT,                               /* Q 2 */
130          XVID_H263QUANT | XVID_HALFPEL,                // Q 3          XVID_H263QUANT | XVID_HALFPEL,                /* Q 3 */
131          XVID_H263QUANT | XVID_HALFPEL | XVID_INTER4V, // Q 4          XVID_H263QUANT | XVID_HALFPEL | XVID_INTER4V, /* Q 4 */
132          XVID_H263QUANT | XVID_HALFPEL | XVID_INTER4V, // Q 5          XVID_H263QUANT | XVID_HALFPEL | XVID_INTER4V, /* Q 5 */
133          XVID_H263QUANT | XVID_HALFPEL | XVID_INTER4V  // Q 6          XVID_H263QUANT | XVID_HALFPEL | XVID_INTER4V  /* Q 6 */
134  };  };
135    
136    
# Line 198  Line 198 
198    
199          double Ipsnr=0.,Imaxpsnr=0.,Iminpsnr=999.,Ivarpsnr=0.;          double Ipsnr=0.,Imaxpsnr=0.,Iminpsnr=999.,Ivarpsnr=0.;
200          double Ppsnr=0.,Pmaxpsnr=0.,Pminpsnr=999.,Pvarpsnr=0.;          double Ppsnr=0.,Pmaxpsnr=0.,Pminpsnr=999.,Pvarpsnr=0.;
         double Bpsnr=0.,Bmaxpsnr=0.,Bminpsnr=999.,Bvarpsnr=0.;  
201    
202          char filename[256];          char filename[256];
203    
# Line 277  Line 276 
276   ****************************************************************************/   ****************************************************************************/
277    
278          if (XDIM <= 0 || XDIM >= 2048 || YDIM <=0 || YDIM >= 2048 ) {          if (XDIM <= 0 || XDIM >= 2048 || YDIM <=0 || YDIM >= 2048 ) {
279                  fprintf(stderr,                  fprintf(stderr, "Trying to retreive width and height from PGM header\n");
                                 "Trying to retreive width and height from PGM header\n",  
                                 XDIM,  
                                 YDIM);  
280                  ARG_INPUTTYPE = 1; /* pgm */                  ARG_INPUTTYPE = 1; /* pgm */
281          }          }
282    
# Line 295  Line 291 
291          }          }
292    
293          if ( ARG_FRAMERATE <= 0) {          if ( ARG_FRAMERATE <= 0) {
294                  fprintf(stderr,"Wrong Fraterate %s \n",argv[5]);                  fprintf(stderr,"Wrong Framerate %s \n",argv[5]);
295                  return -1;                  return -1;
296          }          }
297    
# Line 366  Line 362 
362          do {          do {
363    
364                  if (ARG_INPUTTYPE)                  if (ARG_INPUTTYPE)
365                          status = read_pgmdata(in_file, in_buffer);      // read PGM data (YUV-format)                          status = read_pgmdata(in_file, in_buffer);      /* read PGM data (YUV-format) */
366                  else                  else
367                          status = read_yuvdata(in_file, in_buffer);      // read raw data (YUV-format)                          status = read_yuvdata(in_file, in_buffer);      /* read raw data (YUV-format) */
368    
369                  if (status)                  if (status)
370                  {                  {
# Line 503  Line 499 
499          printf("Avg. Q%1d %2s ",ARG_QUALITY, (ARG_QUANTI ? " q" : "br"));          printf("Avg. Q%1d %2s ",ARG_QUALITY, (ARG_QUANTI ? " q" : "br"));
500          printf("%04d ",(ARG_QUANTI)?ARG_QUANTI:ARG_BITRATE);          printf("%04d ",(ARG_QUANTI)?ARG_QUANTI:ARG_BITRATE);
501          printf("( %.2f bpp) ", (double)ARG_BITRATE*1000/XDIM/YDIM/ARG_FRAMERATE);          printf("( %.2f bpp) ", (double)ARG_BITRATE*1000/XDIM/YDIM/ARG_FRAMERATE);
502          printf("size %6d ",totalsize);          printf("size %6d ", (int)totalsize);
503          printf("( %4d kbps ",(int)(totalsize*8*ARG_FRAMERATE/1000));          printf("( %4d kbps ",(int)(totalsize*8*ARG_FRAMERATE/1000));
504          printf("/ %.2f bpp) ",(double)totalsize*8/XDIM/YDIM);          printf("/ %.2f bpp) ",(double)totalsize*8/XDIM/YDIM);
505          printf("enc: %6.1f fps, dec: %6.1f fps \n",1000/totalenctime, 1000/totaldectime);          printf("enc: %6.1f fps, dec: %6.1f fps \n",1000/totalenctime, 1000/totaldectime);
# Line 558  Line 554 
554  #ifndef _MSC_VER  #ifndef _MSC_VER
555          struct timeval  tv;          struct timeval  tv;
556          gettimeofday(&tv, 0);          gettimeofday(&tv, 0);
557          return tv.tv_sec*10e3 + tv.tv_usec * 1.0e-3;          return tv.tv_sec*1.0e3 + tv.tv_usec * 1.0e-3;
558  #else  #else
559          clock_t clk;          clock_t clk;
560          clk = clock();          clk = clock();
# Line 829  Line 825 
825          XVID_ENC_STATS xstats;          XVID_ENC_STATS xstats;
826    
827          xframe.bitstream = bitstream;          xframe.bitstream = bitstream;
828          xframe.length = -1;     // this is written by the routine          xframe.length = -1;     /* this is written by the routine */
829    
830          xframe.image = image;          xframe.image = image;
831          xframe.colorspace = XVID_CSP_YV12;      // defined in <xvid.h>          xframe.colorspace = XVID_CSP_YV12;      /* defined in <xvid.h> */
832    
833          xframe.intra = -1; // let the codec decide between I-frame (1) and P-frame (0)          xframe.intra = -1; /* let the codec decide between I-frame (1) and P-frame (0) */
834    
835          xframe.quant = ARG_QUANTI;      // is quant != 0, use a fixed quant (and ignore bitrate)          xframe.quant = ARG_QUANTI;      /* is quant != 0, use a fixed quant (and ignore bitrate) */
836    
837          xframe.motion = motion_presets[ARG_QUALITY];          xframe.motion = motion_presets[ARG_QUALITY];
838          xframe.general = general_presets[ARG_QUALITY];          xframe.general = general_presets[ARG_QUALITY];
# Line 898  Line 894 
894          xframe.length = m4v_size;          xframe.length = m4v_size;
895          xframe.image = out_buffer;          xframe.image = out_buffer;
896          xframe.stride = XDIM;          xframe.stride = XDIM;
897          xframe.colorspace = XVID_CSP_YV12;             // XVID_CSP_USER is fastest (no memcopy involved)          xframe.colorspace = XVID_CSP_YV12;             /* XVID_CSP_USER is fastest (no memcopy involved) */
898    
899          xerr = xvid_decore(dec_handle, XVID_DEC_DECODE, &xframe, NULL);          xerr = xvid_decore(dec_handle, XVID_DEC_DECODE, &xframe, NULL);
900    

Legend:
Removed from v.548  
changed lines
  Added in v.684

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