[prev in list] [next in list] [prev in thread] [next in thread]
List: helix-datatype-cvs
Subject: [Datatype-cvs] tools/dtdriver/apps/dtdrive Umakefil, 1.12.6.1,
From: ehyche () helixcommunity ! org
Date: 2007-06-22 15:51:03
Message-ID: 200706221551.l5MFpWia004360 () dommarcmx ! xen ! 10east ! com
[Download RAW message or body]
Update of /cvsroot/datatype/tools/dtdriver/apps/dtdrive
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv18355/datatype/tools/dtdriver/apps/dtdrive
Modified Files:
Tag: hxclient_2_0_3_cayenne
Umakefil main.cpp
Log Message:
Merge of dtdrive video encoding capability to 203Cay.
Index: main.cpp
===================================================================
RCS file: /cvsroot/datatype/tools/dtdriver/apps/dtdrive/main.cpp,v
retrieving revision 1.20.2.2
retrieving revision 1.20.2.2.16.1
diff -u -d -r1.20.2.2 -r1.20.2.2.16.1
--- main.cpp 23 May 2006 01:30:05 -0000 1.20.2.2
+++ main.cpp 22 Jun 2007 15:51:01 -0000 1.20.2.2.16.1
@@ -59,6 +59,8 @@
#define KEYFRAMESONLY_OPT 'k'
#define PASSSWOFFPKTS_OPT 'q'
#define USETEMPFILES_OPT 'n'
+#define ASPECTRATIO_OPT 'j'
+#define ASPECTRATIOMETHOD_OPT 'y'
#define FILE_OPTION_STRING "F"
#define MEMBREAK_OPTION_STRING "B"
@@ -92,6 +94,9 @@
#define ENCODEAUDIORATEILEAVECOMPFMTS_OPTION_STRING "EAICF"
#define ENCODEVIDEO_OPTION_STRING "EV"
#define ENCODEVIDEORATE_OPTION_STRING "EVR"
+#define ENCODEVIDEORATEMAX_OPTION_STRING "EVRM"
+#define ENCODEVIDEOWIDTH_OPTION_STRING "EVW"
+#define ENCODEVIDEOHEIGHT_OPTION_STRING "EVH"
#define DECODEAUDIO_OPTION_STRING "DA"
#define DECODEVIDEO_OPTION_STRING "DV"
#define DECODENONAV_OPTION_STRING "DO"
@@ -157,9 +162,14 @@
static void DisplayUsage(const char *argv0);
static HX_RESULT GetULONG32Option(REF(int) ArgIndex, int argc, char *argv[],
REF(ULONG32) ulValue);
+static HX_RESULT AddULONG32Option(REF(int) ArgIndex, int argc, char *argv[],
+ IHXValues* pOptions, const char* pOptionName,
+ UINT32 ulEnforceMinValue = 0,
+ UINT32 ulEnforceMaxValue = 0xFFFFFFFF);
static HX_RESULT AddStringOption(REF(int) ArgIndex, int argc, char *argv[],
IHXValues* pOptions,
- const char* pOptionName);
+ const char* pOptionName,
+ HXBOOL bAsBuffer = FALSE);
/*
* main entry point
@@ -175,8 +185,8 @@
int NumInputFiles = 0;
HX_RESULT RetVal = HXR_OK;
int ArgIndex;
- BOOL bOptionMode;
- BOOL bIsOption;
+ HXBOOL bOptionMode;
+ HXBOOL bIsOption;
char* pDllPath = new char [_MAX_PATH];
char* pPluginPath = NULL;
char* pCodecPath = NULL;
@@ -329,35 +339,14 @@
else if(strcmp(pCmdOption,
ENCODEAUDIORATETOL_OPTION_STRING) == 0)
{
- ULONG32 ulTolerance = 0;
- RetVal = GetULONG32Option(ArgIndex, argc, argv, ulTolerance);
-
- if ((HXR_OK == RetVal) &&
- (ulTolerance >= 0) && (ulTolerance <= 100))
- {
- RetVal = pOptions->SetPropertyULONG32(
- ENCODEAUDIORATETOL_OPTION_NAME, ulTolerance);
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions,
+ ENCODEAUDIORATETOL_OPTION_NAME, 0, 100);
}
else if(strcmp(pCmdOption,
ENCODEAUDIORATEMAX_OPTION_STRING) == 0)
{
- ULONG32 ulBitrate = 0;
- RetVal = GetULONG32Option(ArgIndex, argc, argv, ulBitrate);
-
- if ((HXR_OK == RetVal) && (ulBitrate > 0))
- {
- RetVal = pOptions->SetPropertyULONG32(
- ENCODEAUDIORATEMAX_OPTION_NAME, ulBitrate);
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions,
+ ENCODEAUDIORATEMAX_OPTION_NAME, 1);
}
else if(strcmp(pCmdOption,
ENCODEAUDIORATECOMPFMTS_OPTION_STRING) == 0)
@@ -377,287 +366,105 @@
RetVal = AddStringOption(ArgIndex, argc, argv, pOptions,
ENCODEAUDIORATEILEAVECOMPFMTS_OPTION_NAME);
}
- else if ((strcmp(&(argv[ArgIndex][1]), RATE_OPTION_STRING) == 0) ||
- (strcmp(&(argv[ArgIndex][1]), ENCODEAUDIORATE_OPTION_STRING) == 0) ||
- (strcmp(&(argv[ArgIndex][1]), ENCODEVIDEORATE_OPTION_STRING) == 0))
+ else if (strcmp(&(argv[ArgIndex][1]), RATE_OPTION_STRING) == 0)
{
- BOOL bEncodeAudioRate = (strcmp(&(argv[ArgIndex][1]),
- ENCODEAUDIORATE_OPTION_STRING) == 0);
- BOOL bEncodeVideoRate = (strcmp(&(argv[ArgIndex][1]),
- ENCODEVIDEORATE_OPTION_STRING) == 0);
-
- ArgIndex++;
- if (ArgIndex < argc)
- {
- ULONG32 uBandwidth;
-
- if (sscanf(argv[ArgIndex], "%ld", &uBandwidth) == 1)
- {
- if (uBandwidth > 0)
- {
- if (bEncodeAudioRate || bEncodeVideoRate)
- {
- RetVal = pOptions->SetPropertyULONG32(
- bEncodeAudioRate ? ENCODEAUDIORATE_OPTION_NAME :
- ENCODEVIDEORATE_OPTION_NAME,
- uBandwidth);
-
- if (SUCCEEDED(RetVal))
- {
- RetVal = pOptions->SetPropertyULONG32(ENCODE_OPTION_NAME, 1);
- }
- }
- else
- {
- RetVal = pOptions->SetPropertyULONG32(
- RATE_OPTION_NAME,
- uBandwidth);
- }
- }
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
RATE_OPTION_NAME, 1); }
- else if ((strcmp(&(argv[ArgIndex][1]), DECODEAUDIO_OPTION_STRING) == 0) ||
- (strcmp(&(argv[ArgIndex][1]), DECODEVIDEO_OPTION_STRING) == 0) ||
- (strcmp(&(argv[ArgIndex][1]), DECODENONAV_OPTION_STRING) == 0))
+ else if (strcmp(&(argv[ArgIndex][1]), ENCODEAUDIORATE_OPTION_STRING) == \
0) {
- BOOL bDecodeAudio = (strcmp(&(argv[ArgIndex][1]),
- DECODEAUDIO_OPTION_STRING) == 0);
- BOOL bDecodeVideo = (strcmp(&(argv[ArgIndex][1]),
- DECODEVIDEO_OPTION_STRING) == 0);
-
- ArgIndex++;
- if (ArgIndex < argc)
- {
- ULONG32 ulMode;
-
- if (sscanf(argv[ArgIndex], "%ld", &ulMode) == 1)
- {
- if (bDecodeAudio)
- {
- RetVal = pOptions->SetPropertyULONG32(
- DECODEAUDIO_OPTION_NAME,
- ulMode);
- }
- else if (bDecodeVideo)
- {
- RetVal = pOptions->SetPropertyULONG32(
- DECODEVIDEO_OPTION_NAME,
- ulMode);
- }
- else
- {
- RetVal = pOptions->SetPropertyULONG32(
- DECODENONAV_OPTION_NAME,
- ulMode);
- }
-
- if (SUCCEEDED(RetVal))
- {
- RetVal = pOptions->SetPropertyULONG32(DECODE_OPTION_NAME, 1);
- }
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
ENCODEAUDIORATE_OPTION_NAME, 1); + }
+ else if (strcmp(&(argv[ArgIndex][1]), ENCODEVIDEORATE_OPTION_STRING) == \
0) + {
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
ENCODEVIDEORATE_OPTION_NAME, 1); + }
+ else if (strcmp(&(argv[ArgIndex][1]), ENCODEVIDEORATEMAX_OPTION_STRING) \
== 0) + {
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
ENCODEVIDEORATEMAX_OPTION_NAME, 1); + }
+ else if (strcmp(&(argv[ArgIndex][1]), ENCODEVIDEOWIDTH_OPTION_STRING) == \
0) + {
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
ENCODEVIDEOWIDTH_OPTION_NAME, 1); + }
+ else if (strcmp(&(argv[ArgIndex][1]), ENCODEVIDEOHEIGHT_OPTION_STRING) \
== 0) + {
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
ENCODEVIDEOHEIGHT_OPTION_NAME, 1); + }
+ else if (strcmp(&(argv[ArgIndex][1]), DECODEAUDIO_OPTION_STRING) == 0)
+ {
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
DECODEAUDIO_OPTION_NAME); + if (SUCCEEDED(RetVal))
+ {
+ // If we set the DECODEAUDIO_OPTION_NAME option, then
+ // we automatically set the DECODE_OPTION_NAME option.
+ RetVal = pOptions->SetPropertyULONG32(DECODE_OPTION_NAME, 1);
+ }
+ }
+ else if (strcmp(&(argv[ArgIndex][1]), DECODEVIDEO_OPTION_STRING) == 0)
+ {
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
DECODEVIDEO_OPTION_NAME); + if (SUCCEEDED(RetVal))
+ {
+ // If we set the DECODEVIDEO_OPTION_NAME option, then
+ // we automatically set the DECODE_OPTION_NAME option.
+ RetVal = pOptions->SetPropertyULONG32(DECODE_OPTION_NAME, 1);
+ }
+ }
+ else if (strcmp(&(argv[ArgIndex][1]), DECODENONAV_OPTION_STRING) == 0)
+ {
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
DECODENONAV_OPTION_NAME); + if (SUCCEEDED(RetVal))
+ {
+ // If we set the DECODENONAV_OPTION_NAME option, then
+ // we automatically set the DECODE_OPTION_NAME option.
+ RetVal = pOptions->SetPropertyULONG32(DECODE_OPTION_NAME, 1);
+ }
}
else if (strcmp(&(argv[ArgIndex][1]), DECODESTREAM_OPTION_STRING) == 0)
{
- ULONG32 ulVal = 0;
-
- ArgIndex++;
- if ((ArgIndex + 1) < argc)
- {
- RetVal = HXR_PARSE_ERROR;
-
- if (sscanf(argv[ArgIndex], "%ld", &ulVal) == 1)
- {
- RetVal = pOptions->SetPropertyULONG32(DECODESTREAM_OPTION_NAME, ulVal);
- }
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
-
- if (SUCCEEDED(RetVal))
- {
- ArgIndex++;
- ulVal = 0;
- RetVal = HXR_PARSE_ERROR;
-
- if (sscanf(argv[ArgIndex], "%ld", &ulVal) == 1)
- {
- RetVal = pOptions->SetPropertyULONG32(DECODESTREAMMODE_OPTION_NAME, ulVal);
- }
- }
-
- if (SUCCEEDED(RetVal))
- {
- RetVal = pOptions->SetPropertyULONG32(DECODE_OPTION_NAME, 1);
- }
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
DECODESTREAM_OPTION_NAME); + if (SUCCEEDED(RetVal))
+ {
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
DECODESTREAMMODE_OPTION_NAME); + if (SUCCEEDED(RetVal))
+ {
+ // If we set the DECODESTREAM_OPTION_NAME and \
DECODESTREAMMODE_OPTION_NAME + // options, then we \
automatically set the DECODE_OPTION_NAME option. + RetVal = \
pOptions->SetPropertyULONG32(DECODE_OPTION_NAME, 1); + }
+ }
}
else if (strcmp(&(argv[ArgIndex][1]), OUTPUTSAMPLESPERSECOND_OPTION_STRING) == \
0) {
- ArgIndex++;
- if (ArgIndex < argc)
- {
- ULONG32 ulSamplesPerSecond;
-
- if (sscanf(argv[ArgIndex], "%ld", &ulSamplesPerSecond) == 1)
- {
- pOptions->SetPropertyULONG32(OUTPUTSAMPLESPERSECOND_OPTION_NAME, \
ulSamplesPerSecond);
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
OUTPUTSAMPLESPERSECOND_OPTION_NAME); }
else if (strcmp(&(argv[ArgIndex][1]), OUTPUTCHANNELS_OPTION_STRING) == 0)
{
- ArgIndex++;
- if (ArgIndex < argc)
- {
- ULONG32 ulChannels;
-
- if (sscanf(argv[ArgIndex], "%ld", &ulChannels) == 1)
- {
- pOptions->SetPropertyULONG32(OUTPUTCHANNELS_OPTION_NAME, ulChannels);
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
OUTPUTCHANNELS_OPTION_NAME); }
else if (strcmp(&(argv[ArgIndex][1]), OUTPUTBITSPERSAMPLE_OPTION_STRING) == 0)
{
- ArgIndex++;
- if (ArgIndex < argc)
- {
- ULONG32 ulBitsPerSample;
-
- if (sscanf(argv[ArgIndex], "%ld", &ulBitsPerSample) == 1)
- {
- pOptions->SetPropertyULONG32(OUTPUTBITSPERSAMPLE_OPTION_NAME, ulBitsPerSample);
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
OUTPUTBITSPERSAMPLE_OPTION_NAME); }
else if (strcmp(&(argv[ArgIndex][1]), SERVER_OPTION_STRING) == 0)
{
- ArgIndex++;
- if (ArgIndex < argc)
- {
- ULONG32 uMode;
-
- if (sscanf(argv[ArgIndex], "%ld", &uMode) == 1)
- {
- pOptions->SetPropertyULONG32(SERVER_OPTION_NAME, uMode);
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
SERVER_OPTION_NAME); }
else if (strcmp(&(argv[ArgIndex][1]), RATEMODE_OPTION_STRING) == 0)
{
- ArgIndex++;
- if (ArgIndex < argc)
- {
- ULONG32 ulMode = 0;
-
- if (sscanf(argv[ArgIndex], "%ld", &ulMode) == 1)
- {
- pOptions->SetPropertyULONG32(RATEMODE_OPTION_NAME, ulMode);
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
RATEMODE_OPTION_NAME); }
else if (strcmp(&(argv[ArgIndex][1]), RATEMAX_OPTION_STRING) == 0)
{
- ULONG32 ulRateMax = 0;
-
- RetVal = GetULONG32Option(ArgIndex, argc, argv, ulRateMax);
-
- if (RetVal == HXR_OK)
- {
- RetVal = pOptions->SetPropertyULONG32(RATEMAX_OPTION_NAME, ulRateMax);
- }
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
RATEMAX_OPTION_NAME); }
else if (strcmp(&(argv[ArgIndex][1]), RATEMIN_OPTION_STRING) == 0)
{
- ULONG32 ulRateMin = 0;
-
- RetVal = GetULONG32Option(ArgIndex, argc, argv, ulRateMin);
-
- if (RetVal == HXR_OK)
- {
- RetVal = pOptions->SetPropertyULONG32(RATEMIN_OPTION_NAME, ulRateMin);
- }
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
RATEMIN_OPTION_NAME); }
else if (strcmp(&(argv[ArgIndex][1]), RATEMODEINTERVAL_OPTION_STRING) == 0)
{
- ArgIndex++;
- if (ArgIndex < argc)
- {
- ULONG32 ulInterval = 0;
-
- if (sscanf(argv[ArgIndex], "%ld", &ulInterval) == 1)
- {
- pOptions->SetPropertyULONG32(RATEMODEINTERVAL_OPTION_NAME, ulInterval);
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
RATEMODEINTERVAL_OPTION_NAME); }
else if (strcmp(&(argv[ArgIndex][1]), TIMER_OPTION_STRING) == 0)
{
@@ -683,180 +490,35 @@
}
else if (strcmp(&(argv[ArgIndex][1]), JUMPSTART_OPTION_STRING) == 0)
{
- ArgIndex++;
- if (ArgIndex < argc)
- {
- ULONG32 ulStartTime = 0;
-
- if ((sscanf(argv[ArgIndex], "%ld", &ulStartTime) == 1) &&
- (ulStartTime != 0))
- {
- pOptions->SetPropertyULONG32(JUMPSTART_OPTION_NAME, (ULONG32) ulStartTime);
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
JUMPSTART_OPTION_NAME, 1); }
else if (strcmp(&(argv[ArgIndex][1]), PROCESSUNTIL_OPTION_STRING) == 0)
{
- ArgIndex++;
- if (ArgIndex < argc)
- {
- ULONG32 ulTimeStamp = 0;
-
- if ((sscanf(argv[ArgIndex], "%ld", &ulTimeStamp) == 1) &&
- (ulTimeStamp != 0))
- {
- pOptions->SetPropertyULONG32(PROCESSUNTIL_OPTION_NAME, (ULONG32) ulTimeStamp);
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
PROCESSUNTIL_OPTION_NAME, 1); }
else if (strcmp(&(argv[ArgIndex][1]), VIDEOOFFSET_OPTION_STRING) == 0)
{
- ArgIndex++;
- if (ArgIndex < argc)
- {
- ULONG32 ulVideoOffset = 0;
-
- if ((sscanf(argv[ArgIndex], "%ld", &ulVideoOffset) == 1) &&
- (ulVideoOffset != 0))
- {
- pOptions->SetPropertyULONG32(VIDEOOFFSET_OPTION_NAME, (ULONG32) ulVideoOffset);
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
VIDEOOFFSET_OPTION_NAME, 1); }
else if (strcmp(&(argv[ArgIndex][1]), VIDEOTIMESCALE_OPTION_STRING) == 0)
{
- ArgIndex++;
- if (ArgIndex < argc)
- {
- ULONG32 ulVideoTimeScale = 0;
-
- if ((sscanf(argv[ArgIndex], "%ld", &ulVideoTimeScale) == 1) &&
- (ulVideoTimeScale != 0))
- {
- pOptions->SetPropertyULONG32(VIDEOTIMESCALE_OPTION_NAME, (ULONG32) \
ulVideoTimeScale);
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
VIDEOTIMESCALE_OPTION_NAME, 1); }
else if (strcmp(&(argv[ArgIndex][1]), MAXFRAMERATE_OPTION_STRING) == 0)
{
- ArgIndex++;
- if (ArgIndex < argc)
- {
- ULONG32 ulMaxFrameRate = 0;
-
- if ((sscanf(argv[ArgIndex], "%lu", &ulMaxFrameRate) == 1) &&
- (ulMaxFrameRate != 0))
- {
- pOptions->SetPropertyULONG32(MAXFRAMERATE_OPTION_NAME, (ULONG32) ulMaxFrameRate);
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
MAXFRAMERATE_OPTION_NAME, 1); }
else if (strcmp(&(argv[ArgIndex][1]), MINFRAMERATE_OPTION_STRING) == 0)
{
- ArgIndex++;
- if (ArgIndex < argc)
- {
- ULONG32 ulMinFrameRate = 0;
-
- if ((sscanf(argv[ArgIndex], "%lu", &ulMinFrameRate) == 1) &&
- (ulMinFrameRate != 0))
- {
- pOptions->SetPropertyULONG32(MINFRAMERATE_OPTION_NAME, (ULONG32) ulMinFrameRate);
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
MINFRAMERATE_OPTION_NAME, 1); }
else if (strcmp(&(argv[ArgIndex][1]), LOOKAHEAD_OPTION_STRING) == 0)
{
- ArgIndex++;
- if (ArgIndex < argc)
- {
- ULONG32 ulLookAhead = 0;
-
- if ((sscanf(argv[ArgIndex], "%lu", &ulLookAhead) == 1) &&
- (ulLookAhead != 0))
- {
- pOptions->SetPropertyULONG32(LOOKAHEAD_OPTION_NAME, (ULONG32) ulLookAhead);
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
LOOKAHEAD_OPTION_NAME, 1); }
else if (strcmp(&(argv[ArgIndex][1]), ROTATIONSIZE_OPTION_STRING) == 0)
{
- ArgIndex++;
- if (ArgIndex < argc)
- {
- LONG32 lRotationSize = -1;
-
- if ((sscanf(argv[ArgIndex], "%ld", &lRotationSize) == 1) &&
- (lRotationSize >= 0))
- {
- pOptions->SetPropertyULONG32(ROTATIONSIZE_OPTION_NAME,
- (ULONG32) lRotationSize);
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
+ RetVal = AddULONG32Option(ArgIndex, argc, argv, pOptions, \
ROTATIONSIZE_OPTION_NAME); }
else if (strcmp(&(argv[ArgIndex][1]), LOADDIR_OPTION_STRING) == 0)
{
@@ -934,55 +596,26 @@
RetVal = HXR_PARSE_ERROR;
}
}
- else if ((strcmp(&(argv[ArgIndex][1]), ENCODEAUDIO_OPTION_STRING) == 0) ||
- (strcmp(&(argv[ArgIndex][1]), ENCODEVIDEO_OPTION_STRING) == 0))
- {
- const char* pEncodeFormat = NULL;
- IHXBuffer* pEncodeFormatBuffer = NULL;
- BOOL bEncodeVideo = (strcmp(&(argv[ArgIndex][1]), ENCODEVIDEO_OPTION_STRING) == \
0);
-
- ArgIndex++;
- if (ArgIndex < argc)
- {
- pEncodeFormat = argv[ArgIndex];
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
-
- if (SUCCEEDED(RetVal))
- {
- CHXBuffer* pCHXBuffer = new CHXBuffer();
- RetVal = HXR_OUTOFMEMORY;
- if (pCHXBuffer)
- {
- pEncodeFormatBuffer = (IHXBuffer*) pCHXBuffer;
- pCHXBuffer->AddRef();
- RetVal = HXR_OK;
- }
- }
-
- if (SUCCEEDED(RetVal))
- {
- RetVal = pEncodeFormatBuffer->Set((UINT8*) pEncodeFormat,
- strlen(pEncodeFormat) + 1);
- }
-
- if (SUCCEEDED(RetVal))
- {
- RetVal = pOptions->SetPropertyCString(
- bEncodeVideo ? ENCODEVIDEO_OPTION_NAME : ENCODEAUDIO_OPTION_NAME,
- pEncodeFormatBuffer);
-
- if (SUCCEEDED(RetVal))
- {
- RetVal = pOptions->SetPropertyULONG32(ENCODE_OPTION_NAME, 1);
- }
- }
-
- HX_RELEASE(pEncodeFormatBuffer);
- }
+ else if (strcmp(&(argv[ArgIndex][1]), ENCODEAUDIO_OPTION_STRING) == 0)
+ {
+ RetVal = AddStringOption(ArgIndex, argc, argv, pOptions, \
ENCODEAUDIO_OPTION_NAME); + if (SUCCEEDED(RetVal))
+ {
+ // If we have the ENCODEAUDIO_OPTION_NAME option, then
+ // automatically add the ENCODE_OPTION_NAME option.
+ RetVal = pOptions->SetPropertyULONG32(ENCODE_OPTION_NAME, 1);
+ }
+ }
+ else if (strcmp(&(argv[ArgIndex][1]), ENCODEVIDEO_OPTION_STRING) == 0)
+ {
+ RetVal = AddStringOption(ArgIndex, argc, argv, pOptions, \
ENCODEVIDEO_OPTION_NAME); + if (SUCCEEDED(RetVal))
+ {
+ // If we have the ENCODEVIDEO_OPTION_NAME option, then
+ // automatically add the ENCODE_OPTION_NAME option.
+ RetVal = pOptions->SetPropertyULONG32(ENCODE_OPTION_NAME, 1);
+ }
+ }
else if (strcmp(&(argv[ArgIndex][1]), WRITE_OPTION_STRING) == 0)
{
ArgIndex++;
@@ -1009,84 +642,31 @@
}
else if (strcmp(&(argv[ArgIndex][1]), TITLE_OPTION_STRING) == 0)
{
- ArgIndex++;
- if (ArgIndex < argc)
- {
- RetVal = SetCStringProperty(pOptions,
- TITLE_OPTION_NAME,
- argv[ArgIndex],
- NULL,
- TRUE); // set as buffer
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
-
+ RetVal = AddStringOption(ArgIndex, argc, argv, pOptions,
+ TITLE_OPTION_NAME,
+ TRUE);// set as buffer
}
else if (strcmp(&(argv[ArgIndex][1]), AUTHOR_OPTION_STRING) == 0)
{
- ArgIndex++;
- if (ArgIndex < argc)
- {
- RetVal = SetCStringProperty(pOptions,
- AUTHOR_OPTION_NAME,
- argv[ArgIndex],
- NULL,
- TRUE); // set as buffer
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
-
+ RetVal = AddStringOption(ArgIndex, argc, argv, pOptions,
+ AUTHOR_OPTION_NAME,
+ TRUE);// set as buffer
}
else if (strcmp(&(argv[ArgIndex][1]), COPYRIGHT_OPTION_STRING) == 0)
{
- ArgIndex++;
- if (ArgIndex < argc)
- {
- RetVal = SetCStringProperty(pOptions,
- COPYRIGHT_OPTION_NAME,
- argv[ArgIndex],
- NULL,
- TRUE); // set as buffer
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
-
+ RetVal = AddStringOption(ArgIndex, argc, argv, pOptions,
+ COPYRIGHT_OPTION_NAME,
+ TRUE);// set as buffer
}
else if (strcmp(&(argv[ArgIndex][1]), ABSTRACT_OPTION_STRING) == 0)
{
- ArgIndex++;
- if (ArgIndex < argc)
- {
- RetVal = SetCStringProperty(pOptions,
- ABSTRACT_OPTION_NAME,
- argv[ArgIndex]);
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
-
+ RetVal = AddStringOption(ArgIndex, argc, argv, pOptions,
+ ABSTRACT_OPTION_NAME);
}
else if (strcmp(&(argv[ArgIndex][1]), KEYWORDS_OPTION_STRING) == 0)
{
- ArgIndex++;
- if (ArgIndex < argc)
- {
- RetVal = SetCStringProperty(pOptions,
- KEYWORDS_OPTION_NAME,
- argv[ArgIndex]);
- }
- else
- {
- RetVal = HXR_PARSE_ERROR;
- }
-
+ RetVal = AddStringOption(ArgIndex, argc, argv, pOptions,
+ KEYWORDS_OPTION_NAME);
}
#ifdef _MEMPROBE_ENABLED
else if(strcmp(&(argv[ArgIndex][1]), MEMBREAK_OPTION_STRING) == 0)
@@ -1186,6 +766,12 @@
case DECODE_OPT:
pOptions->SetPropertyULONG32(DECODE_OPTION_NAME, bOptionMode ? 1 : 0);
break;
+ case ASPECTRATIO_OPT:
+ pOptions->SetPropertyULONG32(ENCODEVIDEOASPECTRATIO_OPTION_NAME, bOptionMode ? 1 \
: 0); + break;
+ case ASPECTRATIOMETHOD_OPT:
+ pOptions->SetPropertyULONG32(ENCODEVIDEOASPECTRATIOMETHOD_OPTION_NAME, \
bOptionMode ? 1 : 0); + break;
case DECRYPT_OPT:
{
ULONG32 ulDecryptIdx = bOptionMode ? 1 : 0;
@@ -1411,18 +997,16 @@
printf(" 0 = No Decode - passthrough/block based on option \
%c\n", BLOCK_OPT); printf(" 1 = Normal Decode\n");
printf(" 2 = Passthrough Decode\n");
- printf(" -%s <Samples>= format decoded audio to specified sample rate \
(Hz)\n", OUTPUTSAMPLESPERSECOND_OPTION_STRING);
- printf(" -%s <Count> = format decoded audio to specified number of \
channels\n", OUTPUTCHANNELS_OPTION_STRING);
- printf(" -%s <Bits> = format decoded audio to specified sample size \
(Bits)\n", OUTPUTBITSPERSAMPLE_OPTION_STRING); + printf(" -%s <Samples> = \
format decoded audio to specified sample rate (Hz)\n", \
OUTPUTSAMPLESPERSECOND_OPTION_STRING); + printf(" -%s <Count> = format \
decoded audio to specified number of channels\n", OUTPUTCHANNELS_OPTION_STRING); + \
printf(" -%s <Bits> = format decoded audio to specified sample size \
(Bits)\n", OUTPUTBITSPERSAMPLE_OPTION_STRING); printf("\n=> Decryption:\n");
printf(" Options: (+ = add, - = remove)\n");
printf(" %c = decrypt content into unprotected (clear) form\n", \
DECRYPT_OPT);
- printf("\n=> Encoding:\n");
+ printf("\n=> Audio Encoding:\n");
printf(" Commands:\n");
printf(" -%s <Format> = encode audio to specified format\n", \
ENCODEAUDIO_OPTION_STRING);
- printf(" -%s <Format> = encode video to specified format\n", \
ENCODEVIDEO_OPTION_STRING);
printf(" -%s <Rate> = when encoding audio, use specified bitrate \
(bps)\n", ENCODEAUDIORATE_OPTION_STRING);
- printf(" -%s <Rate> = when encoding video, use specified bitrate \
(bps)\n", ENCODEVIDEORATE_OPTION_STRING);
printf(" -%s <%%> = when encoding audio, allow the encoded bitrate \
to\n", ENCODEAUDIORATETOL_OPTION_STRING);
printf(" be within a percentage of the requested \
value.\n");
printf(" 0 = The encode MUST be at the specified \
bitrate\n"); @@ -1440,6 +1024,22 @@
printf(" (The list is a ';' seperated string of 4cc \
codes)\n");
printf(" -%s = enable optimized transcode. If a transcode is \
not\n", OPTIMIZEDTRANSCODE_OPTION_STRING);
printf(" necessary then only a transformat will be \
done.\n"); + printf("\n=> Video Encoding:\n");
+ printf(" Commands:\n");
+ printf(" -%s <Format> = encode video to specified format (rvg2svt, rv8, \
rv9, or rv10)\n", ENCODEVIDEO_OPTION_STRING); + printf(" -%s <Rate> = when \
encoding video, use specified average bitrate (bps)\n", \
ENCODEVIDEORATE_OPTION_STRING); + printf(" -%s <Rate> = when encoding video, \
use specified maximum bitrate (bps)\n", ENCODEVIDEORATEMAX_OPTION_STRING); + \
printf(" -%s <Rate> = when encoding video, use specified width (pixels)\n", \
ENCODEVIDEOWIDTH_OPTION_STRING); + printf(" -%s <Rate> = when encoding \
video, use specified height (pixels)\n", ENCODEVIDEOHEIGHT_OPTION_STRING); + \
printf(" Options: (+ = add, - = remove)\n"); + printf(" %c = preserve \
aspect ratio of source video\n", ASPECTRATIO_OPT); + printf(" %c = aspect \
ratio preservation method:\n", ASPECTRATIOMETHOD_OPT); + printf(" -%c \
(default): reduce specified encoded width or encoded height to preserve ratio\n", \
ASPECTRATIOMETHOD_OPT); + printf(" (for example, if input \
is 320x176 with -%s 160 -%s 120 +%c -%c, output is 160x88)\n", + \
ENCODEVIDEOWIDTH_OPTION_STRING, ENCODEVIDEOHEIGHT_OPTION_STRING, ASPECTRATIO_OPT, \
ASPECTRATIOMETHOD_OPT); + printf(" +%c : increase specified \
encoded width or encoded height to preserve ratio\n", ASPECTRATIOMETHOD_OPT); + \
printf(" (for example, if input is 320x176 with -%s 160 -%s \
120 +%c +%c, output is 220x120)\n", + ENCODEVIDEOWIDTH_OPTION_STRING, \
ENCODEVIDEOHEIGHT_OPTION_STRING, ASPECTRATIO_OPT, ASPECTRATIOMETHOD_OPT); \
printf("\n=> Environment:\n"); printf(" Commands:\n");
printf(" -%s <Mode> = run in server emulating mode\n", \
SERVER_OPTION_STRING); @@ -1476,8 +1076,33 @@
return retVal;
}
+HX_RESULT AddULONG32Option(REF(int) ArgIndex, int argc, char *argv[],
+ IHXValues* pOptions, const char* pOptionName,
+ UINT32 ulEnforceMinValue, UINT32 ulEnforceMaxValue)
+{
+ HX_RESULT retVal = HXR_PARSE_ERROR;
+
+ if (argv && pOptions && pOptionName)
+ {
+ ULONG32 ulValue = 0;
+ retVal = GetULONG32Option(ArgIndex, argc, argv, ulValue);
+ if (SUCCEEDED(retVal))
+ {
+ // Set the return value
+ retVal = HXR_PARSE_ERROR;
+ // Make sure we are within the legal range
+ if (ulValue >= ulEnforceMinValue && ulValue <= ulEnforceMaxValue)
+ {
+ retVal = pOptions->SetPropertyULONG32(pOptionName, ulValue);
+ }
+ }
+ }
+
+ return retVal;
+}
+
HX_RESULT AddStringOption(REF(int) ArgIndex, int argc, char *argv[],
- IHXValues* pOptions, const char* pOptionName)
+ IHXValues* pOptions, const char* pOptionName, HXBOOL \
bAsBuffer) {
HX_RESULT retVal = HXR_PARSE_ERROR;
@@ -1494,7 +1119,14 @@
if (SUCCEEDED(retVal))
{
- retVal = pOptions->SetPropertyCString(pOptionName, pBuffer);
+ if (bAsBuffer)
+ {
+ retVal = pOptions->SetPropertyBuffer(pOptionName, pBuffer);
+ }
+ else
+ {
+ retVal = pOptions->SetPropertyCString(pOptionName, pBuffer);
+ }
}
HX_RELEASE(pBuffer);
Index: Umakefil
===================================================================
RCS file: /cvsroot/datatype/tools/dtdriver/apps/dtdrive/Umakefil,v
retrieving revision 1.12.6.1
retrieving revision 1.12.6.1.28.1
diff -u -d -r1.12.6.1 -r1.12.6.1.28.1
--- Umakefil 16 Apr 2005 00:07:20 -0000 1.12.6.1
+++ Umakefil 22 Jun 2007 15:51:01 -0000 1.12.6.1.28.1
@@ -19,7 +19,8 @@
"common/util[utillib]",
"common/container[contlib]",
"common/system[syslib]",
- "common/fileio[fileiolib]")
+ "common/fileio[fileiolib]",
+ "common/log/logutil[logutillib]")
if project.IsDefined("HELIX_FEATURE_MINICONTEXT_PLAYBACK_NET"):
project.AddModuleLibraries( "client/netwksvc[netsvclib]",
_______________________________________________
Datatype-cvs mailing list
Datatype-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/datatype-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic