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

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

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

revision 997, Sun Apr 27 20:36:13 2003 UTC revision 1013, Mon May 12 00:06:49 2003 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_encraw.c,v 1.11.2.20 2003-04-27 20:36:13 edgomez Exp $   * $Id: xvid_encraw.c,v 1.11.2.21 2003-05-12 00:06:49 edgomez Exp $
23   *   *
24   ****************************************************************************/   ****************************************************************************/
25    
# Line 50  Line 50 
50  /*****************************************************************************  /*****************************************************************************
51   *                            Quality presets   *                            Quality presets
52   ****************************************************************************/   ****************************************************************************/
   
53  static xvid_motion_t const motion_presets[] = {  static xvid_motion_t const motion_presets[] = {
54          0,                                                                                                                                                      /* 0 */          /* quality 0 */
55          XVID_ME_HALFPELREFINE16,                                                                                                        /* 1 */          0,
56          XVID_ME_HALFPELREFINE16,                                                                                                        /* 2 */  
57          XVID_ME_HALFPELREFINE16 | XVID_ME_HALFPELREFINE8,                                                       /* 3 */          /* quality 1 */
58          XVID_ME_HALFPELREFINE16 | XVID_ME_HALFPELREFINE8,                                                       /* 4 */          XVID_ME_ADVANCEDDIAMOND16,
59          XVID_ME_HALFPELREFINE16 | XVID_ME_HALFPELREFINE8 | XVID_ME_EXTSEARCH16 |  
60                  XVID_ME_USESQUARES16,                                                                                                   /* 5 */          /* quality 2 */
61          XVID_ME_HALFPELREFINE16 | XVID_ME_HALFPELREFINE8 | XVID_ME_EXTSEARCH16 |          XVID_ME_ADVANCEDDIAMOND16 | XVID_ME_HALFPELREFINE16,
62                  XVID_ME_USESQUARES16 | XVID_ME_CHROMA16 | XVID_ME_CHROMA8,                              /* 6 */  
63  };          /* quality 3 */
64            XVID_ME_ADVANCEDDIAMOND16 | XVID_ME_HALFPELREFINE16 |
65            XVID_ME_ADVANCEDDIAMOND8 | XVID_ME_HALFPELREFINE8,
66    
67            /* quality 4 */
68            XVID_ME_ADVANCEDDIAMOND16 | XVID_ME_HALFPELREFINE16 |
69            XVID_ME_ADVANCEDDIAMOND8 | XVID_ME_HALFPELREFINE8 |
70            XVID_ME_CHROMA16 | XVID_ME_CHROMA8,
71    
72            /* quality 5 */
73            XVID_ME_ADVANCEDDIAMOND16 | XVID_ME_HALFPELREFINE16 |
74            XVID_ME_ADVANCEDDIAMOND8 | XVID_ME_HALFPELREFINE8 |
75            XVID_ME_CHROMA16 | XVID_ME_CHROMA8,
76    
77            /* quality 6 */
78            XVID_ME_ADVANCEDDIAMOND16 | XVID_ME_HALFPELREFINE16 | XVID_ME_EXTSEARCH16 |
79            XVID_ME_ADVANCEDDIAMOND8 | XVID_ME_HALFPELREFINE8 | XVID_ME_EXTSEARCH8 |
80            XVID_ME_CHROMA16 | XVID_ME_CHROMA8 ,
81    
 static xvid_vol_t const vol_presets[] = {  
         XVID_VOL_MPEGQUANT,                                                                                                                     /* 0 */  
         0,                                                                                                                                                      /* 1 */  
         0,                                                                                                                                                      /* 2 */  
         0,                                                                                                                                                      /* 3 */  
         0,                                                                                                                                                      /* 4 */  
         XVID_VOL_QUARTERPEL | XVID_VOL_GMC,                                                                                     /* 5 */  
         0                                                                                                                                                       /* 6 */  
82  };  };
83    #define ME_ELEMENTS (sizeof(motion_presets)/sizeof(motion_presets[0]))
84    
85  static xvid_vop_t const vop_presets[] = {  static xvid_vop_t const vop_presets[] = {
86          XVID_VOP_DYNAMIC_BFRAMES,                                                                                                                               /* 0 */          /* quality 0 */
87          XVID_VOP_DYNAMIC_BFRAMES,                                                                                                                               /* 1 */          0,
88          XVID_VOP_DYNAMIC_BFRAMES | XVID_VOP_HALFPEL,                                                                                    /* 2 */  
89          XVID_VOP_DYNAMIC_BFRAMES | XVID_VOP_HALFPEL | XVID_VOP_INTER4V,                                                 /* 3 */          /* quality 1 */
90          XVID_VOP_DYNAMIC_BFRAMES | XVID_VOP_HALFPEL | XVID_VOP_INTER4V | XVID_VOP_TRELLISQUANT, /* 4 */          XVID_VOP_DYNAMIC_BFRAMES,
91          XVID_VOP_DYNAMIC_BFRAMES | XVID_VOP_HALFPEL | XVID_VOP_INTER4V | XVID_VOP_HQACPRED,     /* 5 */  
92          XVID_VOP_DYNAMIC_BFRAMES | XVID_VOP_HALFPEL | XVID_VOP_HQACPRED |                                               /* 6 */          /* quality 2 */
93                  XVID_VOP_MODEDECISION_BITS          XVID_VOP_DYNAMIC_BFRAMES | XVID_VOP_HALFPEL,
94    
95            /* quality 3 */
96            XVID_VOP_DYNAMIC_BFRAMES | XVID_VOP_HALFPEL |
97            XVID_VOP_INTER4V,
98    
99            /* quality 4 */
100            XVID_VOP_DYNAMIC_BFRAMES | XVID_VOP_HALFPEL |
101            XVID_VOP_INTER4V,
102    
103            /* quality 5 */
104            XVID_VOP_DYNAMIC_BFRAMES | XVID_VOP_HALFPEL |
105            XVID_VOP_INTER4V | XVID_VOP_TRELLISQUANT,
106    
107            /* quality 6 */
108            XVID_VOP_DYNAMIC_BFRAMES | XVID_VOP_HALFPEL |
109            XVID_VOP_INTER4V | XVID_VOP_TRELLISQUANT |
110            XVID_VOP_HQACPRED,
111    
112  };  };
113    #define VOP_ELEMENTS (sizeof(vop_presets)/sizeof(vop_presets[0]))
114    
115  /*****************************************************************************  /*****************************************************************************
116   *                     Command line global variables   *                     Command line global variables
# Line 199  Line 227 
227          printf("xvid_encraw - raw mpeg4 bitstream encoder ");          printf("xvid_encraw - raw mpeg4 bitstream encoder ");
228          printf("written by Christoph Lampert 2002-2003\n\n");          printf("written by Christoph Lampert 2002-2003\n\n");
229    
230            /* Is there a dumb XviD coder ? */
231            if(ME_ELEMENTS != VOP_ELEMENTS) {
232                    fprintf(stderr, "Presets' arrays should have the same number of elements -- Please fill a bug to xvid-devel@xvid.org\n");
233                    return(-1);
234            }
235    
236  /*****************************************************************************  /*****************************************************************************
237   *                            Command line parsing   *                            Command line parsing
238   ****************************************************************************/   ****************************************************************************/
# Line 286  Line 320 
320                  ARG_INPUTTYPE = 1;              /* pgm */                  ARG_INPUTTYPE = 1;              /* pgm */
321          }          }
322    
323          if (ARG_QUALITY < 0 || ARG_QUALITY > 6) {          if (ARG_QUALITY < 0 ) {
324                  fprintf(stderr, "Wrong Quality\n");                  ARG_QUALITY = 0;
325                  return (-1);          } else if (ARG_QUALITY >= ME_ELEMENTS) {
326                    ARG_QUALITY = ME_ELEMENTS - 1;
327          }          }
328    
329          if (ARG_FRAMERATE <= 0) {          if (ARG_FRAMERATE <= 0) {
# Line 595  Line 630 
630          fprintf(stderr, "\n");          fprintf(stderr, "\n");
631          fprintf(stderr, "Other options\n");          fprintf(stderr, "Other options\n");
632          fprintf(stderr, " -asm            : use assembly optmized code\n");          fprintf(stderr, " -asm            : use assembly optmized code\n");
633          fprintf(stderr, " -quality integer: quality ([0..5])\n");          fprintf(stderr, " -quality integer: quality ([0..%d])\n", ME_ELEMENTS - 1);
634          fprintf(stderr, " -packed         : packed mode\n");          fprintf(stderr, " -packed         : packed mode\n");
635          fprintf(stderr, " -lumimasking    : use lumimasking algorithm\n");          fprintf(stderr, " -lumimasking    : use lumimasking algorithm\n");
636          fprintf(stderr, " -stats          : print stats about encoded frames\n");          fprintf(stderr, " -stats          : print stats about encoded frames\n");
# Line 931  Line 966 
966          }          }
967    
968          /* Set up core's general features */          /* Set up core's general features */
969          xvid_enc_frame.vol_flags = vol_presets[ARG_QUALITY];          xvid_enc_frame.vol_flags = 0;
970          if (ARG_STATS)          if (ARG_STATS)
971                  xvid_enc_frame.vol_flags |= XVID_VOL_EXTRASTATS;                  xvid_enc_frame.vol_flags |= XVID_VOL_EXTRASTATS;
972    

Legend:
Removed from v.997  
changed lines
  Added in v.1013

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