[cvs] / xvidcore / examples / xvid_encraw.c Repository:
ViewVC logotype

Diff of /xvidcore/examples/xvid_encraw.c

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

revision 1.11.2.37, Sun Nov 30 17:11:01 2003 UTC revision 1.14, Fri Apr 2 21:29:21 2004 UTC
# Line 141  Line 141 
141  static char *ARG_INPUTFILE = NULL;  static char *ARG_INPUTFILE = NULL;
142  static int ARG_INPUTTYPE = 0;  static int ARG_INPUTTYPE = 0;
143  static int ARG_SAVEMPEGSTREAM = 0;  static int ARG_SAVEMPEGSTREAM = 0;
144    static int ARG_SAVEINDIVIDUAL = 0;
145  static char *ARG_OUTPUTFILE = NULL;  static char *ARG_OUTPUTFILE = NULL;
146  static int XDIM = 0;  static int XDIM = 0;
147  static int YDIM = 0;  static int YDIM = 0;
# Line 327  Line 328 
328                  } else if (strcmp("-type", argv[i]) == 0 && i < argc - 1) {                  } else if (strcmp("-type", argv[i]) == 0 && i < argc - 1) {
329                          i++;                          i++;
330                          ARG_INPUTTYPE = atoi(argv[i]);                          ARG_INPUTTYPE = atoi(argv[i]);
331                  } else if (strcmp("-nframes", argv[i]) == 0 && i < argc - 1) {                  } else if (strcmp("-frames", argv[i]) == 0 && i < argc - 1) {
332                          i++;                          i++;
333                          ARG_MAXFRAMENR = atoi(argv[i]);                          ARG_MAXFRAMENR = atoi(argv[i]);
334                  } else if (strcmp("-save", argv[i]) == 0) {                  } else if (strcmp("-save", argv[i]) == 0) {
335                          ARG_SAVEMPEGSTREAM = 1;                          ARG_SAVEMPEGSTREAM = 1;
336                            ARG_SAVEINDIVIDUAL = 1;
337                  } else if (strcmp("-debug", argv[i]) == 0) {                  } else if (strcmp("-debug", argv[i]) == 0) {
338                          i++;                          i++;
339              if (sscanf(argv[i],"0x%x", &ARG_DEBUG) || sscanf(argv[i],"%d", &ARG_DEBUG)) ;              if (sscanf(argv[i],"0x%x", &ARG_DEBUG) || sscanf(argv[i],"%d", &ARG_DEBUG)) ;
340                  } else if (strcmp("-o", argv[i]) == 0 && i < argc - 1) {                  } else if (strcmp("-o", argv[i]) == 0 && i < argc - 1) {
341                            ARG_SAVEMPEGSTREAM = 1;
342                          i++;                          i++;
343                          ARG_OUTPUTFILE = argv[i];                          ARG_OUTPUTFILE = argv[i];
344                  } else if (strcmp("-vop_debug", argv[i]) == 0) {                  } else if (strcmp("-vop_debug", argv[i]) == 0) {
# Line 360  Line 363 
363   *                            Arguments checking   *                            Arguments checking
364   ****************************************************************************/   ****************************************************************************/
365    
366          if (XDIM <= 0 || XDIM >= 2048 || YDIM <= 0 || YDIM >= 2048) {          if (XDIM <= 0 || XDIM >= 4096 || YDIM <= 0 || YDIM >= 4096) {
367                  fprintf(stderr,                  fprintf(stderr,
368                                  "Trying to retreive width and height from PGM header\n");                                  "Trying to retreive width and height from PGM header\n");
369                  ARG_INPUTTYPE = 1;              /* pgm */                  ARG_INPUTTYPE = 1;              /* pgm */
# Line 544  Line 547 
547   ****************************************************************************/   ****************************************************************************/
548    
549                  if (m4v_size > 0 && ARG_SAVEMPEGSTREAM) {                  if (m4v_size > 0 && ARG_SAVEMPEGSTREAM) {
550    
551                          /* Save single files */                          /* Save single files */
552                          if (out_file == NULL) {                          if (ARG_SAVEINDIVIDUAL) {
553                                    FILE *out;
554                                  sprintf(filename, "%sframe%05d.m4v", filepath, output_num);                                  sprintf(filename, "%sframe%05d.m4v", filepath, output_num);
555                                  out_file = fopen(filename, "wb");                                  out = fopen(filename, "w+b");
556                                  fwrite(mp4_buffer, m4v_size, 1, out_file);                                  fwrite(mp4_buffer, m4v_size, 1, out);
557                                  fclose(out_file);                                  fclose(out);
                                 out_file = NULL;  
558                                  output_num++;                                  output_num++;
559                          } else {                          }
560    
561                                  /* Write mp4 data */                          /* Save ES stream */
562                            if (ARG_OUTPUTFILE && out_file)
563                                  fwrite(mp4_buffer, 1, m4v_size, out_file);                                  fwrite(mp4_buffer, 1, m4v_size, out_file);
   
                         }  
564                  }                  }
565    
566                  input_num++;                  input_num++;
# Line 666  Line 669 
669          fprintf(stderr, " -type    integer: input data type (yuv=0, pgm=1)\n");          fprintf(stderr, " -type    integer: input data type (yuv=0, pgm=1)\n");
670          fprintf(stderr, " -w       integer: frame width ([1.2048])\n");          fprintf(stderr, " -w       integer: frame width ([1.2048])\n");
671          fprintf(stderr, " -h       integer: frame height ([1.2048])\n");          fprintf(stderr, " -h       integer: frame height ([1.2048])\n");
672          fprintf(stderr, " -nframes integer: number of frames to encode\n");          fprintf(stderr, " -frames integer: number of frames to encode\n");
673          fprintf(stderr, "\n");          fprintf(stderr, "\n");
674          fprintf(stderr, "Output options:\n");          fprintf(stderr, "Output options:\n");
675          fprintf(stderr, " -dump    : save decoder output\n");          fprintf(stderr, " -dump    : save decoder output\n");
676          fprintf(stderr, " -save    : save mpeg4 raw stream\n");          fprintf(stderr, " -save    : save an Elementary Stream file per frame\n");
677          fprintf(stderr, " -o string: output filename\n");          fprintf(stderr, " -o string: save an Elementary Stream for the complete sequence\n");
678          fprintf(stderr, "\n");          fprintf(stderr, "\n");
679          fprintf(stderr, "BFrames options:\n");          fprintf(stderr, "BFrames options:\n");
680          fprintf(stderr, " -max_bframes   integer: max bframes (default=0)\n");          fprintf(stderr, " -max_bframes   integer: max bframes (default=0)\n");
# Line 726  Line 729 
729                  return (1);                  return (1);
730    
731          fscanf(handle, "%d %d %d", &xsize, &ysize, &depth);          fscanf(handle, "%d %d %d", &xsize, &ysize, &depth);
732          if ((xsize > 1440) || (ysize > 2880) || (depth != 255)) {          if ((xsize > 4096) || (ysize > 4096*3/2) || (depth != 255)) {
733                  fprintf(stderr, "%d %d %d\n", xsize, ysize, depth);                  fprintf(stderr, "%d %d %d\n", xsize, ysize, depth);
734                  return (2);                  return (2);
735          }          }
# Line 1091  Line 1094 
1094    
1095          /* Set up core's general features */          /* Set up core's general features */
1096          xvid_enc_frame.vop_flags = vop_presets[ARG_QUALITY];          xvid_enc_frame.vop_flags = vop_presets[ARG_QUALITY];
         if (ARG_GMC)  
                 xvid_enc_frame.vop_flags |= XVID_ME_GME_REFINE;  
1097    
1098      if (ARG_VOPDEBUG) {      if (ARG_VOPDEBUG) {
1099          xvid_enc_frame.vop_flags |= XVID_VOP_DEBUG;          xvid_enc_frame.vop_flags |= XVID_VOP_DEBUG;
# Line 1107  Line 1108 
1108          /* Set up motion estimation flags */          /* Set up motion estimation flags */
1109          xvid_enc_frame.motion = motion_presets[ARG_QUALITY];          xvid_enc_frame.motion = motion_presets[ARG_QUALITY];
1110    
1111            if (ARG_GMC)
1112                    xvid_enc_frame.motion |= XVID_ME_GME_REFINE;
1113    
1114          if (ARG_QPEL)          if (ARG_QPEL)
1115                  xvid_enc_frame.motion |= XVID_ME_QUARTERPELREFINE16;                  xvid_enc_frame.motion |= XVID_ME_QUARTERPELREFINE16;
1116          if (ARG_QPEL && (xvid_enc_frame.vop_flags & XVID_VOP_INTER4V))          if (ARG_QPEL && (xvid_enc_frame.vop_flags & XVID_VOP_INTER4V))

Legend:
Removed from v.1.11.2.37  
changed lines
  Added in v.1.14

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