MHEG-5  19.3.0
MHEG-5 Documentation
fpa1_vis.c
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2004 Ocean Blue Software Ltd
4  * Copyright © 2000 Koninklijke Philips Electronics N.V
5  *
6  * This file is part of a DTVKit Software Component
7  * You are permitted to copy, modify or distribute this file subject to the terms
8  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
9  *
10  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
11  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
12  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
13  *
14  * If you or your organisation is not a member of DTVKit then you have access
15  * to this source code outside of the terms of the licence agreement
16  * and you are expected to delete this and any associated files immediately.
17  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
18  *******************************************************************************/
27 /*---includes for this file--------------------------------------------------*/
28 #include <stdio.h>
29 #include <stdlib.h>
30 
31 #include "vpa1_tgs.h"
32 #include "vpa1_rdf.h"
33 
34 #include "fpa1_set.h"
35 #include "fpa1_seq.h"
36 #include "fpa1_syn.h"
37 #include "fpa1_vis.h"
38 
39 /*---local typedef structs for this file-------------------------------------*/
40 
41 /*---constant definitions for this file--------------------------------------*/
42 #define VIS_SET_COMPS 8
43 #define BMP_SET_COMPS 10
44 #define LART_SET_COMPS 13
45 #define RECT_SET_COMPS 10
46 #define DLART_SET_COMPS 11
47 
48 #define VIS_NDO_SIZE 3
49 #define VIS_NDA_SIZE 2 /* Video */
50 
51 #define BMP_EXPLICIT 2
52 #define LART_DDDOO_SIZE 5
53 #define LART_ADDOO_SIZE 4 /* Rectangle */
54 
55 #define OBOX_SIZE_SEQ_COMPS 2
56 
57 
58 /*---local (static) variable declarations for this file----------------------*/
59 
60 /* Bitmap */
61 int bmpSetCompsArr[ 2 * BMP_SET_COMPS + 1 ]
62  = { 2 * BMP_SET_COMPS, /* array limit */
63  /* Ingredient */
64  OBJECT_REFERENCE_TYPE, SYN_NEEDED,
65  INITACTIVE, SYN_DEFAULT,
66  CHOOK, SYN_OPTIONAL,
67  OCONTENT, SYN_NEEDED,
68  SHARED, SYN_DEFAULT,
69  /* Visible */
70  OBOXSIZE, SYN_NEEDED,
71  OPOSITION, SYN_DEFAULT,
72  OPALREF, SYN_OPTIONAL,
73  /* Bitmap */
74  TILING, SYN_DEFAULT,
75  OTRANS, SYN_DEFAULT };
76 
77 /* LineArt */
78 int lartSetCompsArr[ 2 * LART_SET_COMPS + 1 ]
79  = { 2 * LART_SET_COMPS, /* array limit */
80  /* Ingredient */
81  OBJECT_REFERENCE_TYPE, SYN_NEEDED,
82  INITACTIVE, SYN_DEFAULT,
83  CHOOK, SYN_OPTIONAL,
84  OCONTENT, SYN_NEEDED,
85  SHARED, SYN_DEFAULT,
86  /* Visible */
87  OBOXSIZE, SYN_NEEDED,
88  OPOSITION, SYN_DEFAULT,
89  OPALREF, SYN_OPTIONAL,
90  /* LineArt */
91  BBBOX, SYN_DEFAULT,
92  OLWIDTH, SYN_DEFAULT,
93  OLSTYLE, SYN_DEFAULT,
94  ORLCOLOUR, SYN_OPTIONAL,
95  ORFCOLOUR, SYN_OPTIONAL };
96 
97 /* Rectangle */
98 int rectSetCompsArr[ 2 * RECT_SET_COMPS + 1 ]
99  = { 2 * RECT_SET_COMPS, /* array limit */
100  /* Ingredient */
101  OBJECT_REFERENCE_TYPE, SYN_NEEDED,
102  INITACTIVE, SYN_DEFAULT,
103  SHARED, SYN_DEFAULT,
104  /* Visible */
105  OBOXSIZE, SYN_NEEDED,
106  OPOSITION, SYN_DEFAULT,
107  OPALREF, SYN_OPTIONAL,
108  /* LineArt */
109  OLWIDTH, SYN_DEFAULT,
110  OLSTYLE, SYN_DEFAULT,
111  ORLCOLOUR, SYN_OPTIONAL,
112  ORFCOLOUR, SYN_OPTIONAL };
113 
114 /* LineArt */
115 int dLartSetCompsArr[ 2 * DLART_SET_COMPS + 1 ]
116  = { 2 * DLART_SET_COMPS, /* array limit */
117  /* Ingredient */
118  OBJECT_REFERENCE_TYPE, SYN_NEEDED,
119  INITACTIVE, SYN_DEFAULT,
120  SHARED, SYN_DEFAULT,
121  /* Visible */
122  OBOXSIZE, SYN_NEEDED,
123  OPOSITION, SYN_DEFAULT,
124  OPALREF, SYN_OPTIONAL,
125  /* LineArt */
126  BBBOX, SYN_DEFAULT,
127  OLWIDTH, SYN_DEFAULT,
128  OLSTYLE, SYN_DEFAULT,
129  ORLCOLOUR, SYN_OPTIONAL,
130  ORFCOLOUR, SYN_OPTIONAL };
131 
132 /* SEQUENCEs */
133 int oboxSizeSeqCompArr[ 2 * OBOX_SIZE_SEQ_COMPS + 1 ] = { 2 * OBOX_SIZE_SEQ_COMPS, /* limit */
134  INTEGER, SYN_NEEDED,
135  INTEGER, SYN_NEEDED };
136 
137 /*---local function definitions----------------------------------------------*/
138 
139 /*---global function definitions---------------------------------------------*/
Contains functions/structure used to do MHEG-5 ASN.1 syntax parsing.
Typedefs for script reading functions.
Contains macros for MHEG-5 ASN.1 tags and structures.
Contains functions used to parse MHEG-5 ASN.1 SETs. SETs can have components in any order and as such...
Contains functions used to parse MHEG-5 ASN.1 SEQUENCEs. SEQUENCEs have components in order...