summaryrefslogtreecommitdiffstats
path: root/ext/metadata/metadatatags.c
diff options
context:
space:
mode:
authorEdgard Lima <edgard.lima@indt.org.br>2007-12-14 18:18:37 +0000
committerEdgard Lima <edgard.lima@indt.org.br>2007-12-14 18:18:37 +0000
commitb2a023be7baa09662fc63cf177a1adc79b0b3cf2 (patch)
tree513245f11375fe70acc57f25d6fe0f1d0eb72ca4 /ext/metadata/metadatatags.c
parent91bb79004f36a6cb50c7b46f6e014e660a90b297 (diff)
downloadgst-plugins-bad-b2a023be7baa09662fc63cf177a1adc79b0b3cf2.tar.gz
gst-plugins-bad-b2a023be7baa09662fc63cf177a1adc79b0b3cf2.tar.bz2
gst-plugins-bad-b2a023be7baa09662fc63cf177a1adc79b0b3cf2.zip
Added new module for common functions. Using GST_TYPE_FRACTION for Exif (S)Rational types.
Original commit message from CVS: Added new module for common functions. Using GST_TYPE_FRACTION for Exif (S)Rational types.
Diffstat (limited to 'ext/metadata/metadatatags.c')
-rw-r--r--ext/metadata/metadatatags.c106
1 files changed, 59 insertions, 47 deletions
diff --git a/ext/metadata/metadatatags.c b/ext/metadata/metadatatags.c
index 00f3956b..6250c256 100644
--- a/ext/metadata/metadatatags.c
+++ b/ext/metadata/metadatatags.c
@@ -50,39 +50,6 @@
static void
metadata_tags_exif_register (void)
{
- gst_tag_register (GST_TAG_EXIF, GST_TAG_FLAG_META,
- GST_TYPE_BUFFER, GST_TAG_EXIF, "exif metadata chunk", NULL);
-}
-
-/*
- * IPTC tags
- */
-
-static void
-metadata_tags_iptc_register (void)
-{
- gst_tag_register (GST_TAG_IPTC, GST_TAG_FLAG_META,
- GST_TYPE_BUFFER, GST_TAG_IPTC, "iptc metadata chunk", NULL);
-}
-
-/*
- * XMP tags
- */
-
-static void
-metadata_tags_xmp_register (void)
-{
- gst_tag_register (GST_TAG_XMP, GST_TAG_FLAG_META,
- GST_TYPE_BUFFER, GST_TAG_XMP, "xmp metadata chunk", NULL);
-}
-
-/*
- *
- */
-
-void
-metadata_tags_register (void)
-{
/* devices tags */
gst_tag_register (GST_TAG_DEVICE_MAKE, GST_TAG_FLAG_META,
@@ -101,20 +68,21 @@ metadata_tags_register (void)
/* image tags */
- gst_tag_register (GST_TAG_IMAGE_XRESOLUTION, GST_TAG_FLAG_META, G_TYPE_FLOAT,
- GST_TAG_IMAGE_XRESOLUTION, "Horizontal resolution in pixels per inch",
- NULL);
- gst_tag_register (GST_TAG_IMAGE_YRESOLUTION, GST_TAG_FLAG_META, G_TYPE_FLOAT,
- GST_TAG_IMAGE_YRESOLUTION, "Vertical resolution in pixels per inch",
- NULL);
+ gst_tag_register (GST_TAG_IMAGE_XRESOLUTION, GST_TAG_FLAG_META,
+ GST_TYPE_FRACTION, GST_TAG_IMAGE_XRESOLUTION,
+ "Horizontal resolution in pixels per inch", NULL);
+ gst_tag_register (GST_TAG_IMAGE_YRESOLUTION, GST_TAG_FLAG_META,
+ GST_TYPE_FRACTION, GST_TAG_IMAGE_YRESOLUTION,
+ "Vertical resolution in pixels per inch", NULL);
/* capture tags */
gst_tag_register (GST_TAG_CAPTURE_EXPOSURE_TIME, GST_TAG_FLAG_META,
- G_TYPE_FLOAT, GST_TAG_CAPTURE_EXPOSURE_TIME, "Exposure time in seconds",
+ GST_TYPE_FRACTION, GST_TAG_CAPTURE_EXPOSURE_TIME,
+ "Exposure time in seconds", NULL);
+ gst_tag_register (GST_TAG_CAPTURE_FNUMBER, GST_TAG_FLAG_META,
+ GST_TYPE_FRACTION, GST_TAG_CAPTURE_FNUMBER, "F number (focal ratio)",
NULL);
- gst_tag_register (GST_TAG_CAPTURE_FNUMBER, GST_TAG_FLAG_META, G_TYPE_FLOAT,
- GST_TAG_CAPTURE_FNUMBER, "F number (focal ratio)", NULL);
/**
0 - not defined
1- Manual
@@ -137,11 +105,11 @@ metadata_tags_register (void)
"Class of program used for exposure", NULL);
/** The unit is the APEX value.
Ordinarily it is given in the range of -99.99 to 99.99.
- 100.0 mean unknown
+ if numerator is 0xFFFFFFFF means unknown
*/
- gst_tag_register (GST_TAG_CAPTURE_BRIGHTNESS, GST_TAG_FLAG_META, G_TYPE_FLOAT,
- GST_TAG_CAPTURE_BRIGHTNESS, "Brightness (APEX from -99.99 to 99.99)",
- NULL);
+ gst_tag_register (GST_TAG_CAPTURE_BRIGHTNESS, GST_TAG_FLAG_META,
+ GST_TYPE_FRACTION, GST_TAG_CAPTURE_BRIGHTNESS,
+ "Brightness (APEX from -99.99 to 99.99)", NULL);
/**
0- Auto
1- Off
@@ -160,7 +128,8 @@ metadata_tags_register (void)
/** if Zero ZOOM not used
*/
gst_tag_register (GST_TAG_CAPTURE_DIGITAL_ZOOM, GST_TAG_FLAG_META,
- G_TYPE_FLOAT, GST_TAG_CAPTURE_DIGITAL_ZOOM, "Digital zoom ratio", NULL);
+ GST_TYPE_FRACTION, GST_TAG_CAPTURE_DIGITAL_ZOOM, "Digital zoom ratio",
+ NULL);
/**
0- None
1- Low gain up
@@ -189,6 +158,49 @@ metadata_tags_register (void)
gst_tag_register (GST_TAG_CAPTURE_SATURATION, GST_TAG_FLAG_META, G_TYPE_INT,
GST_TAG_CAPTURE_SATURATION, "", NULL);
+}
+
+/*
+ * IPTC tags
+ */
+
+static void
+metadata_tags_iptc_register (void)
+{
+
+}
+
+/*
+ * XMP tags
+ */
+
+static void
+metadata_tags_xmp_register (void)
+{
+
+}
+
+/*
+ *
+ */
+
+void
+metadata_tags_register (void)
+{
+
+ /* whole chunk tags */
+
+ gst_tag_register (GST_TAG_EXIF, GST_TAG_FLAG_META,
+ GST_TYPE_BUFFER, GST_TAG_EXIF, "exif metadata chunk", NULL);
+
+ gst_tag_register (GST_TAG_IPTC, GST_TAG_FLAG_META,
+ GST_TYPE_BUFFER, GST_TAG_IPTC, "iptc metadata chunk", NULL);
+
+ gst_tag_register (GST_TAG_XMP, GST_TAG_FLAG_META,
+ GST_TYPE_BUFFER, GST_TAG_XMP, "xmp metadata chunk", NULL);
+
+ /* tags related to some metadata */
+
metadata_tags_exif_register ();
metadata_tags_iptc_register ();
metadata_tags_xmp_register ();