21 |
* along with this program; if not, write to the Free Software |
* along with this program; if not, write to the Free Software |
22 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
23 |
* |
* |
24 |
* $Id: xvid_encraw.c,v 1.14 2004-04-02 21:29:21 edgomez Exp $ |
* $Id: xvid_encraw.c,v 1.16 2004-11-19 09:41:06 chl Exp $ |
25 |
* |
* |
26 |
****************************************************************************/ |
****************************************************************************/ |
27 |
|
|
152 |
static int ARG_DEBUG = 0; |
static int ARG_DEBUG = 0; |
153 |
static int ARG_VOPDEBUG = 0; |
static int ARG_VOPDEBUG = 0; |
154 |
static int ARG_GMC = 0; |
static int ARG_GMC = 0; |
155 |
|
static int ARG_INTERLACING = 0; |
156 |
static int ARG_QPEL = 0; |
static int ARG_QPEL = 0; |
157 |
static int ARG_CLOSED_GOP = 0; |
static int ARG_CLOSED_GOP = 0; |
158 |
|
|
348 |
ARG_QPEL = 1; |
ARG_QPEL = 1; |
349 |
} else if (strcmp("-gmc", argv[i]) == 0) { |
} else if (strcmp("-gmc", argv[i]) == 0) { |
350 |
ARG_GMC = 1; |
ARG_GMC = 1; |
351 |
|
} else if (strcmp("-interlaced", argv[i]) == 0) { |
352 |
|
ARG_INTERLACING = 1; |
353 |
} else if (strcmp("-closed_gop", argv[i]) == 0) { |
} else if (strcmp("-closed_gop", argv[i]) == 0) { |
354 |
ARG_CLOSED_GOP = 1; |
ARG_CLOSED_GOP = 1; |
355 |
} else if (strcmp("-help", argv[i])) { |
} else if (strcmp("-help", argv[i])) { |
699 |
fprintf(stderr, " -quality integer: quality ([0..%d])\n", ME_ELEMENTS - 1); |
fprintf(stderr, " -quality integer: quality ([0..%d])\n", ME_ELEMENTS - 1); |
700 |
fprintf(stderr, " -qpel : use quarter pixel ME\n"); |
fprintf(stderr, " -qpel : use quarter pixel ME\n"); |
701 |
fprintf(stderr, " -gmc : use global motion compensation\n"); |
fprintf(stderr, " -gmc : use global motion compensation\n"); |
702 |
|
fprintf(stderr, " -interlaced : use interlaced encoding (this is NOT a deinterlacer!)\n"); |
703 |
fprintf(stderr, " -packed : packed mode\n"); |
fprintf(stderr, " -packed : packed mode\n"); |
704 |
fprintf(stderr, " -closed_gop : closed GOP mode\n"); |
fprintf(stderr, " -closed_gop : closed GOP mode\n"); |
705 |
fprintf(stderr, " -lumimasking : use lumimasking algorithm\n"); |
fprintf(stderr, " -lumimasking : use lumimasking algorithm\n"); |
954 |
rc2pass2.filename = ARG_PASS2; |
rc2pass2.filename = ARG_PASS2; |
955 |
rc2pass2.bitrate = ARG_BITRATE; |
rc2pass2.bitrate = ARG_BITRATE; |
956 |
|
|
957 |
|
/* An example of activating VBV could look like this |
958 |
|
rc2pass2.vbv_size = 3145728; |
959 |
|
rc2pass2.vbv_initial = 2359296; |
960 |
|
rc2pass2.vbv_maxrate = 4000000; |
961 |
|
rc2pass2.vbv_peakrate = 10000000; |
962 |
|
*/ |
963 |
|
|
964 |
plugins[xvid_enc_create.num_plugins].func = xvid_plugin_2pass2; |
plugins[xvid_enc_create.num_plugins].func = xvid_plugin_2pass2; |
965 |
plugins[xvid_enc_create.num_plugins].param = &rc2pass2; |
plugins[xvid_enc_create.num_plugins].param = &rc2pass2; |
966 |
xvid_enc_create.num_plugins++; |
xvid_enc_create.num_plugins++; |
1102 |
xvid_enc_frame.vol_flags |= XVID_VOL_QUARTERPEL; |
xvid_enc_frame.vol_flags |= XVID_VOL_QUARTERPEL; |
1103 |
if (ARG_GMC) |
if (ARG_GMC) |
1104 |
xvid_enc_frame.vol_flags |= XVID_VOL_GMC; |
xvid_enc_frame.vol_flags |= XVID_VOL_GMC; |
1105 |
|
if (ARG_INTERLACING) |
1106 |
|
xvid_enc_frame.vol_flags |= XVID_VOL_INTERLACING; |
1107 |
|
|
1108 |
/* Set up core's general features */ |
/* Set up core's general features */ |
1109 |
xvid_enc_frame.vop_flags = vop_presets[ARG_QUALITY]; |
xvid_enc_frame.vop_flags = vop_presets[ARG_QUALITY]; |