mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-30 05:31:15 +00:00
28c11b2762
This does not add support for actually producing filler data if there's a filler component in a timeline.
212 lines
4.8 KiB
C
212 lines
4.8 KiB
C
/* GStreamer
|
|
* Copyright (C) <2009> Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Library General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Library General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Library General Public
|
|
* License along with this library; if not, write to the
|
|
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
|
|
* Boston, MA 02110-1301, USA.
|
|
*/
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
#include <config.h>
|
|
#endif
|
|
|
|
#include "mxfquark.h"
|
|
|
|
static const gchar *_quark_strings[] = {
|
|
"instance-uid",
|
|
"generation-uid",
|
|
"other-tags",
|
|
"tag",
|
|
"data",
|
|
"preface",
|
|
"last-modified-date",
|
|
"version",
|
|
"object-model-version",
|
|
"primary-package",
|
|
"identifications",
|
|
"content-storage",
|
|
"operational-pattern",
|
|
"essence-containers",
|
|
"dm-schemes",
|
|
"identification",
|
|
"this-generation-uid",
|
|
"company-name",
|
|
"product-name",
|
|
"product-version",
|
|
"version-string",
|
|
"product-uid",
|
|
"modification-date",
|
|
"toolkit-version",
|
|
"platform",
|
|
"packages",
|
|
"essence-container-data",
|
|
"linked-package",
|
|
"index-sid",
|
|
"body-sid",
|
|
"package-uid",
|
|
"name",
|
|
"package-creation-date",
|
|
"package-modified-date",
|
|
"tracks",
|
|
"material-package",
|
|
"source-package",
|
|
"descriptor",
|
|
"track-id",
|
|
"track-number",
|
|
"track-name",
|
|
"sequence",
|
|
"timeline-track",
|
|
"edit-rate",
|
|
"origin",
|
|
"event-track",
|
|
"event-edit-rate",
|
|
"event-origin",
|
|
"static-track",
|
|
"data-definition",
|
|
"duration",
|
|
"structural-components",
|
|
"timecode-component",
|
|
"start-timecode",
|
|
"rounded-timecode-base",
|
|
"drop-frame",
|
|
"source-clip",
|
|
"start-position",
|
|
"source-track-id",
|
|
"dm-source-clip",
|
|
"track-ids",
|
|
"dm-segment",
|
|
"event-start-position",
|
|
"event-comment",
|
|
"dm-framework",
|
|
"locators",
|
|
"file-descriptor",
|
|
"linked-track-id",
|
|
"sample-rate",
|
|
"container-duration",
|
|
"essence-container",
|
|
"codec",
|
|
"generic-picture-essence-descriptor",
|
|
"signal-standard",
|
|
"frame-layout",
|
|
"stored-width",
|
|
"stored-height",
|
|
"stored-f2-offset",
|
|
"sampled-width",
|
|
"sampled-height",
|
|
"sampled-x-offset",
|
|
"sampled-y-offset",
|
|
"display-height",
|
|
"display-width",
|
|
"display-x-offset",
|
|
"display-y-offset",
|
|
"display-f2-offset",
|
|
"aspect-ratio",
|
|
"active-format-descriptor",
|
|
"video-line-map-0",
|
|
"video-line-map-1",
|
|
"alpha-transparency",
|
|
"capture-gamma",
|
|
"image-alignment-offset",
|
|
"image-start-offset",
|
|
"image-end-offset",
|
|
"field-dominance",
|
|
"picture-essence-coding",
|
|
"cdci-picture-essence-descriptor",
|
|
"component-depth",
|
|
"horizontal-subsampling",
|
|
"vertical-subsampling",
|
|
"color-siting",
|
|
"reversed-byte-order",
|
|
"padding-bits",
|
|
"alpha-sample-depth",
|
|
"black-ref-level",
|
|
"white-ref-level",
|
|
"color-range",
|
|
"rgba-picture-essence-descriptor",
|
|
"component-max-ref",
|
|
"component-min-ref",
|
|
"alpha-max-ref",
|
|
"alpha-min-ref",
|
|
"scanning-direction",
|
|
"pixel-layout",
|
|
"generic-sound-essence-descriptor",
|
|
"audio-sampling-rate",
|
|
"locked",
|
|
"audio-ref-level",
|
|
"electro-spatial-formulation",
|
|
"channel-count",
|
|
"quantization-bits",
|
|
"dial-norm",
|
|
"sound-essence-compression",
|
|
"generic-data-essence-descriptor",
|
|
"data-essence-coding",
|
|
"multiple-descriptor",
|
|
"sub-descriptors",
|
|
"text-locator",
|
|
"locator-name",
|
|
"network-locator",
|
|
"url-string",
|
|
"wave-audio-essence-descriptor",
|
|
"block-align",
|
|
"sequence-offset",
|
|
"avg-bps",
|
|
"channel-assignment",
|
|
"peak-envelope-version",
|
|
"peak-envelope-format",
|
|
"points-per-peak-value",
|
|
"peak-envelope-block-size",
|
|
"peak-channels",
|
|
"peak-frames",
|
|
"peak-of-peaks-position",
|
|
"peak-envelope-timestamp",
|
|
"peak-envelope-data",
|
|
"aes3-audio-essence-descriptor",
|
|
"emphasis",
|
|
"block-start-offset",
|
|
"auxiliary-bits-mode",
|
|
"channel-status-mode",
|
|
"fixed-channel-status-data",
|
|
"user-data-mode",
|
|
"fixed-user-data",
|
|
"linked-timecode-track-id",
|
|
"stream-number",
|
|
"mpeg-video-descriptor",
|
|
"single-sequence",
|
|
"const-b-frames",
|
|
"coded-content-type",
|
|
"low-delay",
|
|
"closed-gop",
|
|
"identical-gop",
|
|
"max-gop",
|
|
"b-picture-count",
|
|
"bitrate",
|
|
"profile-and-level",
|
|
"filler",
|
|
};
|
|
|
|
GQuark _mxf_quark_table[MXF_QUARK_MAX];
|
|
|
|
void
|
|
mxf_quark_initialize (void)
|
|
{
|
|
gint i;
|
|
|
|
if (G_N_ELEMENTS (_quark_strings) != MXF_QUARK_MAX)
|
|
g_warning ("the quark table is not consistent! %d != %d",
|
|
(int) G_N_ELEMENTS (_quark_strings), MXF_QUARK_MAX);
|
|
|
|
for (i = 0; i < MXF_QUARK_MAX; i++) {
|
|
_mxf_quark_table[i] = g_quark_from_static_string (_quark_strings[i]);
|
|
}
|
|
}
|