1 /* GStreamer
2 * Copyright (C) <2009> Sebastian Dröge <sebastian.droege@collabora.co.uk>
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details.
13 *
14 * You should have received a copy of the GNU Library General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18 */
19
20 #ifdef HAVE_CONFIG_H
21 #include <config.h>
22 #endif
23
24 #include "mxfquark.h"
25
26 static const gchar *_quark_strings[] = {
27 "instance-uid",
28 "generation-uid",
29 "other-tags",
30 "tag",
31 "data",
32 "preface",
33 "last-modified-date",
34 "version",
35 "object-model-version",
36 "primary-package",
37 "identifications",
38 "content-storage",
39 "operational-pattern",
40 "essence-containers",
41 "dm-schemes",
42 "identification",
43 "this-generation-uid",
44 "company-name",
45 "product-name",
46 "product-version",
47 "version-string",
48 "product-uid",
49 "modification-date",
50 "toolkit-version",
51 "platform",
52 "packages",
53 "essence-container-data",
54 "linked-package",
55 "index-sid",
56 "body-sid",
57 "package-uid",
58 "name",
59 "package-creation-date",
60 "package-modified-date",
61 "tracks",
62 "material-package",
63 "source-package",
64 "descriptor",
65 "track-id",
66 "track-number",
67 "track-name",
68 "sequence",
69 "timeline-track",
70 "edit-rate",
71 "origin",
72 "event-track",
73 "event-edit-rate",
74 "event-origin",
75 "static-track",
76 "data-definition",
77 "duration",
78 "structural-components",
79 "timecode-component",
80 "start-timecode",
81 "rounded-timecode-base",
82 "drop-frame",
83 "source-clip",
84 "start-position",
85 "source-track-id",
86 "dm-source-clip",
87 "track-ids",
88 "dm-segment",
89 "event-start-position",
90 "event-comment",
91 "dm-framework",
92 "locators",
93 "file-descriptor",
94 "linked-track-id",
95 "sample-rate",
96 "container-duration",
97 "essence-container",
98 "codec",
99 "generic-picture-essence-descriptor",
100 "signal-standard",
101 "frame-layout",
102 "stored-width",
103 "stored-height",
104 "stored-f2-offset",
105 "sampled-width",
106 "sampled-height",
107 "sampled-x-offset",
108 "sampled-y-offset",
109 "display-height",
110 "display-width",
111 "display-x-offset",
112 "display-y-offset",
113 "display-f2-offset",
114 "aspect-ratio",
115 "active-format-descriptor",
116 "video-line-map-0",
117 "video-line-map-1",
118 "alpha-transparency",
119 "capture-gamma",
120 "image-alignment-offset",
121 "image-start-offset",
122 "image-end-offset",
123 "field-dominance",
124 "picture-essence-coding",
125 "cdci-picture-essence-descriptor",
126 "component-depth",
127 "horizontal-subsampling",
128 "vertical-subsampling",
129 "color-siting",
130 "reversed-byte-order",
131 "padding-bits",
132 "alpha-sample-depth",
133 "black-ref-level",
134 "white-ref-level",
135 "color-range",
136 "rgba-picture-essence-descriptor",
137 "component-max-ref",
138 "component-min-ref",
139 "alpha-max-ref",
140 "alpha-min-ref",
141 "scanning-direction",
142 "pixel-layout",
143 "generic-sound-essence-descriptor",
144 "audio-sampling-rate",
145 "locked",
146 "audio-ref-level",
147 "electro-spatial-formulation",
148 "channel-count",
149 "quantization-bits",
150 "dial-norm",
151 "sound-essence-compression",
152 "generic-data-essence-descriptor",
153 "data-essence-coding",
154 "multiple-descriptor",
155 "sub-descriptors",
156 "text-locator",
157 "locator-name",
158 "network-locator",
159 "url-string",
160 "wave-audio-essence-descriptor",
161 "block-align",
162 "sequence-offset",
163 "avg-bps",
164 "channel-assignment",
165 "peak-envelope-version",
166 "peak-envelope-format",
167 "points-per-peak-value",
168 "peak-envelope-block-size",
169 "peak-channels",
170 "peak-frames",
171 "peak-of-peaks-position",
172 "peak-envelope-timestamp",
173 "peak-envelope-data",
174 "aes3-audio-essence-descriptor",
175 "emphasis",
176 "block-start-offset",
177 "auxiliary-bits-mode",
178 "channel-status-mode",
179 "fixed-channel-status-data",
180 "user-data-mode",
181 "fixed-user-data",
182 "linked-timecode-track-id",
183 "stream-number",
184 "mpeg-video-descriptor",
185 "single-sequence",
186 "const-b-frames",
187 "coded-content-type",
188 "low-delay",
189 "closed-gop",
190 "identical-gop",
191 "max-gop",
192 "b-picture-count",
193 "bitrate",
194 "profile-and-level",
195 "filler",
196 };
197
198 GQuark _mxf_quark_table[MXF_QUARK_MAX];
199
200 void
mxf_quark_initialize(void)201 mxf_quark_initialize (void)
202 {
203 gint i;
204
205 if (G_N_ELEMENTS (_quark_strings) != MXF_QUARK_MAX)
206 g_warning ("the quark table is not consistent! %d != %d",
207 (int) G_N_ELEMENTS (_quark_strings), MXF_QUARK_MAX);
208
209 for (i = 0; i < MXF_QUARK_MAX; i++) {
210 _mxf_quark_table[i] = g_quark_from_static_string (_quark_strings[i]);
211 }
212 }
213