54 #define NORM_SEQUENCE_TYPE (SEQUENCE_TYPE - MHEG5_TYPE) 55 #define NORM_EXTERNAL_REFERENCE_TYPE (EXTERNAL_REFERENCE_TYPE - MHEG5_TYPE) 56 #define NORM_NEW_REFERENCED_CONTENT (NEW_REFERENCED_CONTENT - MHEG5_TYPE) 57 #define NORM_NEW_TIMER (NEW_TIMER - MHEG5_TYPE) 58 #define NORM_NEXT_SCENE_TYPE (NEXT_SCENE_TYPE - MHEG5_TYPE) 59 #define NORM_POINT_TYPE (POINT_TYPE - MHEG5_TYPE) 60 #define NORM_RATIONAL_TYPE (RATIONAL_TYPE - MHEG5_TYPE) 61 #define NORM_REFERENCED_CONTENT_TYPE (REFERENCED_CONTENT_TYPE - MHEG5_TYPE) 62 #define NORM_TOKEN_GROUP_ITEM_TYPE (TOKEN_GROUP_ITEM_TYPE - MHEG5_TYPE) 63 #define NORM_XY_POSITION_TYPE (XY_POSITION_TYPE - MHEG5_TYPE) 64 #define NORM_SEQ_SIZE_OF_ACTION_SLOT (SEQ_SIZE_OF_ACTION_SLOT - MHEG5_TYPE) 65 #define NORM_SEQ_SIZE_OF_ELEMENTARY_ACTION (SEQ_SIZE_OF_ELEMENTARY_ACTION - MHEG5_TYPE) 66 #define NORM_ACTION_CLASS_TYPE (ACTION_CLASS_TYPE - MHEG5_TYPE) 67 #define NORM_SEQ_SIZE_OF_INTEGER (SEQ_SIZE_OF_INTEGER - MHEG5_TYPE) 68 #define NORM_SEQ_SIZE_OF_PARAMETER (SEQ_SIZE_OF_PARAMETER - MHEG5_TYPE) 69 #define NORM_SEQ_SIZE_OF_POINT (SEQ_SIZE_OF_POINT - MHEG5_TYPE) 70 #define NORM_SEQ_SIZE_OF_OBJECT_REFERENCE (SEQ_SIZE_OF_OBJECT_REFERENCE - MHEG5_TYPE) 71 #define NORM_INVALID_SEQ_TYPE (INVALID_SEQ_TYPE - MHEG5_TYPE) 72 #define NORM_EVENT_TYPE (EVENT_TYPE - MHEG5_TYPE) 73 #define NORM_EVENT_DATA_TYPE (EVENT_DATA_TYPE - MHEG5_TYPE) 74 #define NORM_EVENT_SOURCE_TYPE (EVENT_SOURCE_TYPE - MHEG5_TYPE) 75 #define NORM_OBJECT_REFERENCE_TYPE (OBJECT_REFERENCE_TYPE - MHEG5_TYPE) 76 #define NORM_ACTION_SLOT_TYPE (ACTION_SLOT_TYPE - MHEG5_TYPE) 77 #define NORM_COMPARISON_VALUE_TYPE (COMPARISON_VALUE_TYPE - MHEG5_TYPE) 78 #define NORM_CONN_TAG_OR_NULL_TYPE (CONN_TAG_OR_NULL_TYPE - MHEG5_TYPE) 79 #define NORM_EMULATED_EVENT_DATA (EMULATED_EVENT_DATA - MHEG5_TYPE) 80 #define NORM_GENERIC_BOOLEAN (GENERIC_BOOLEAN - MHEG5_TYPE) 81 #define NORM_GENERIC_CONTENT_REFERENCE (GENERIC_CONTENT_REFERENCE - MHEG5_TYPE) 82 #define NORM_GENERIC_INTEGER (GENERIC_INTEGER - MHEG5_TYPE) 83 #define NORM_GENERIC_OBJECT_REFERENCE (GENERIC_OBJECT_REFERENCE - MHEG5_TYPE) 84 #define NORM_GENERIC_OCTET_STRING (GENERIC_OCTET_STRING - MHEG5_TYPE) 85 #define NORM_NEW_COLOUR (NEW_COLOUR - MHEG5_TYPE) 86 #define NORM_NEW_CONTENT (NEW_CONTENT - MHEG5_TYPE) 87 #define NORM_NEW_FONT (NEW_FONT - MHEG5_TYPE) 88 #define NORM_NEW_VARIABLE_VALUE (NEW_VARIABLE_VALUE - MHEG5_TYPE) 89 #define NORM_PARAMETER_TYPE (PARAMETER_TYPE - MHEG5_TYPE) 90 #define NORM_CONTENT_REFERENCE_TYPE (CONTENT_REFERENCE_TYPE - MHEG5_TYPE) 104 static fpa1_syntaxList* fpa1_typeSequence(
int whichType, vpa1_filePos filePosLimit )
107 vpa1_filePos curFilePosition, nextTagPosition;
111 unsigned short childCnt[3] = { 0, 0, 0 };
112 unsigned short startGenericDataCnt = fpa1_GenericDataCount;
129 case NORM_EXTERNAL_REFERENCE_TYPE:
132 fpa1_GenericDataCount--;
134 case NORM_NEW_REFERENCED_CONTENT:
140 case NORM_NEXT_SCENE_TYPE:
142 fpa1_GenericDataCount += 4;
145 case NORM_POINT_TYPE:
147 fpa1_GenericDataCount += 2;
150 case NORM_RATIONAL_TYPE:
153 case NORM_REFERENCED_CONTENT_TYPE:
156 case NORM_TOKEN_GROUP_ITEM_TYPE:
159 case NORM_XY_POSITION_TYPE:
164 case NORM_SEQ_SIZE_OF_ACTION_SLOT:
167 case NORM_SEQ_SIZE_OF_ELEMENTARY_ACTION:
169 fpa1_GroupActionCount += *childCnt;
170 fpa1_GroupParamCount += fpa1_GenericDataCount - startGenericDataCnt;
172 case NORM_SEQ_SIZE_OF_INTEGER:
175 case NORM_SEQ_SIZE_OF_PARAMETER:
178 case NORM_SEQ_SIZE_OF_POINT:
180 fpa1_GenericDataCount += 2;
183 case NORM_SEQ_SIZE_OF_OBJECT_REFERENCE:
185 fpa1_GenericDataCount += 2;
193 if (childPtr != NULL)
203 itemPtr->children = childPtr;
204 itemPtr->childCount[0] = childCnt[0];
205 itemPtr->childCount[1] = childCnt[1];
206 itemPtr->childCount[2] = childCnt[2];
207 itemPtr->dataTotal = fpa1_GenericDataCount - startGenericDataCnt;
224 whichType = whichType - MHEG5_TYPE;
227 if ((whichType > NORM_SEQUENCE_TYPE) &&
228 (whichType < NORM_INVALID_SEQ_TYPE))
230 itemPtr = fpa1_typeSequence( whichType, filePosLimit );
238 case NORM_EVENT_TYPE:
244 itemPtr->tag = whichType + MHEG5_TYPE;
249 case NORM_EVENT_DATA_TYPE:
255 itemPtr->tag = whichType + MHEG5_TYPE;
258 case NORM_EVENT_SOURCE_TYPE:
259 case NORM_OBJECT_REFERENCE_TYPE:
261 if ((whichType == NORM_EVENT_SOURCE_TYPE) &&
265 itemPtr->tag = whichType + MHEG5_TYPE;
268 case NORM_ACTION_SLOT_TYPE:
271 case NORM_COMPARISON_VALUE_TYPE:
274 case NORM_CONN_TAG_OR_NULL_TYPE:
277 case NORM_EMULATED_EVENT_DATA:
280 case NORM_GENERIC_BOOLEAN:
283 case NORM_GENERIC_CONTENT_REFERENCE:
286 case NORM_GENERIC_INTEGER:
289 case NORM_GENERIC_OBJECT_REFERENCE:
292 case NORM_GENERIC_OCTET_STRING:
295 case NORM_NEW_COLOUR:
298 case NORM_NEW_CONTENT:
304 case NORM_PARAMETER_TYPE:
309 case NORM_CONTENT_REFERENCE_TYPE:
318 itemPtr->tag = OCTETSTRING;
Contains functions to decode MHEG-5 ASN.1 types.
fpa1_syntaxList * fpa1_synCreateListItem(int, vpa1_filePos, vpa1_filePos)
Contains functions to decode MHEG-5 ASN.1 Token Group and Token Manager class components.
vpa1_filePos fpa1_rdfGetCurrentFilePosition(void)
void fpa1_rdfMoveToContents(void)
fpa1_syntaxList * fpa1_typeParse(int whichType, vpa1_filePos filePosLimit)
Contains functions/globals used to read MHEG-5 ASN.1 scripts.
Contains functions to decode MHEG-5 ASN.1 Integer class component.
Contains functions to decode MHEG-5 ASN.1 Link class components.
fpa1_syntaxList * fpa1_decodeEnumeratedType(vpa1_filePos)
vpa1_filePos fpa1_rdfGetNextTagPosn(void)
Contains functions/structure used to do MHEG-5 ASN.1 syntax parsing.
Contains functions to decode MHEG-5 ASN.1 Generic Boolean type.
Contains functions to decode MHEG-5 ASN.1 XYPosition type.
Contains functions to decode MHEG-5 ASN.1 Generic Octet String type.
Typedefs for script reading functions.
Contains functions to decode MHEG-5 ASN.1 Generic Content Reference type.
Contains functions to decode MHEG-5 ASN.1 Action class components.
Contains macros for MHEG-5 ASN.1 tags and structures.
Contains functions to decode MHEG-5 ASN.1 Ingredient class components.
fpa1_syntaxList * fpa1_sequenceParse(unsigned short *, int *, vpa1_filePos)
Contains functions to decode MHEG-5 ASN.1 Object Reference, External Reference, Indirect Reference...
fpa1_syntaxList * fpa1_sequenceOfParse(unsigned short *, int, vpa1_filePos)
Contains functions to decode MHEG-5 ASN.1 Scene class components.
Contains functions used to parse MHEG-5 ASN.1 SEQUENCEs. SEQUENCEs have components in order...
Contains functions to decode MHEG-5 ASN.1 enumerated types.
fpa1_syntaxList * fpa1_choiceParse(int *)