diff options
author | Edgard Lima <edgard.lima@indt.org.br> | 2008-02-28 10:41:56 +0000 |
---|---|---|
committer | Edgard Lima <edgard.lima@indt.org.br> | 2008-02-28 10:41:56 +0000 |
commit | 8efb5d2012bc57636016f3dbac523d732bc572ec (patch) | |
tree | fbcba969bd61a60f71c54ec3e606f4a1c79f0d5a /ext/metadata/metadatatags.c | |
parent | 3bba6b5f9476c9e07f97ea236b55fd195d3d504c (diff) | |
download | gst-plugins-bad-8efb5d2012bc57636016f3dbac523d732bc572ec.tar.gz gst-plugins-bad-8efb5d2012bc57636016f3dbac523d732bc572ec.tar.bz2 gst-plugins-bad-8efb5d2012bc57636016f3dbac523d732bc572ec.zip |
Map Date-Time and GPS tags and Convert from EXIF to XMP Datatime as local time (those changes has been done in previo...
Original commit message from CVS:
Map Date-Time and GPS tags and Convert from EXIF to XMP Datatime as local time (those changes has been done in previous comit but had to be revert in 2008-02-10 due to frozen)
Diffstat (limited to 'ext/metadata/metadatatags.c')
-rw-r--r-- | ext/metadata/metadatatags.c | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/ext/metadata/metadatatags.c b/ext/metadata/metadatatags.c index e8b0c1f3..b79830d1 100644 --- a/ext/metadata/metadatatags.c +++ b/ext/metadata/metadatatags.c @@ -364,29 +364,98 @@ metadata_tags_exif_register (void) "The name of the first known tool used to create the resource." " Or firmware or driver version of device", NULL); + /* date and time tags */ + /* formated as subset of ISO RFC 8601 as described in + * http://www.w3.org/TR/1998/NOTE-datetime-19980827 + * which is: + * YYYY + * YYYY-MM + * YYYY-MM-DD + * YYYY-MM-DDThh:mmTZD + * YYYY-MM-DDThh:mm:ssTZD + * YYYY-MM-DDThh:mm:ss.sTZD + * where: + * YYYY = four-digit year + * MM = two-digit month (01=January) + * DD = two-digit day of month (01 through 31) + * hh = two digits of hour (00 through 23) + * mm = two digits of minute (00 through 59) + * ss = two digits of second (00 through 59) + * s = one or more digits representing a decimal fraction of a second + * TZD = time zone designator (Z or +hh:mm or -hh:mm) + */ + + gst_tag_register (GST_TAG_DATE_TIME_DIGITIZED, GST_TAG_FLAG_META, + G_TYPE_STRING, GST_TAG_DATE_TIME_DIGITIZED, + "Date/Time of image digitized", NULL); + + gst_tag_register (GST_TAG_DATE_TIME_MODIFIED, GST_TAG_FLAG_META, + G_TYPE_STRING, GST_TAG_DATE_TIME_MODIFIED, + "Date/Time of image was last modified", NULL); + + gst_tag_register (GST_TAG_DATE_TIME_ORIGINAL, GST_TAG_FLAG_META, + G_TYPE_STRING, GST_TAG_DATE_TIME_ORIGINAL, + "Date/Time of original image taken", NULL); + /* devices tags */ gst_tag_register (GST_TAG_DEVICE_MAKE, GST_TAG_FLAG_META, G_TYPE_STRING, GST_TAG_DEVICE_MAKE, "The manufacturer of the recording equipment", NULL); + gst_tag_register (GST_TAG_DEVICE_MODEL, GST_TAG_FLAG_META, G_TYPE_STRING, GST_TAG_DEVICE_MODEL, "The model name or model number of the equipment", NULL); + /* exif specific tags */ + + gst_tag_register (GST_TAG_EXIF_MAKER_NOTE, GST_TAG_FLAG_META, + GST_TYPE_BUFFER, GST_TAG_EXIF_MAKER_NOTE, "Camera private data", NULL); + /* image tags */ gst_tag_register (GST_TAG_IMAGE_HEIGHT, GST_TAG_FLAG_META, G_TYPE_UINT, GST_TAG_IMAGE_HEIGHT, "Image height in pixels", NULL); + gst_tag_register (GST_TAG_IMAGE_WIDTH, GST_TAG_FLAG_META, G_TYPE_UINT, GST_TAG_IMAGE_WIDTH, "Image width in pixels", 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); + /* GPS tags */ + + /* Altitude: + * positive values means above the sea level + * negative values means under the sea level + */ + + gst_tag_register (GST_TAG_GPS_ALTITUDE, GST_TAG_FLAG_META, + GST_TYPE_FRACTION, GST_TAG_GPS_ALTITUDE, "Altitude", NULL); + + /* Latitude: + * "DDD,MM,SSk" or "DDD,MM.mmk" fixed size string where: + * D- degrees, M- minutes, S-seconds, + * mm- fraction of minutes, k- N (north) or S (south) + */ + + gst_tag_register (GST_TAG_GPS_LATITUDE, GST_TAG_FLAG_META, + G_TYPE_STRING, GST_TAG_GPS_LATITUDE, "Latitude", NULL); + + /* Longitude: + * "DDD,MM,SSk" or "DDD,MM.mmk" fixed size string where: + * D- degrees, M- minutes, S-seconds, + * mm- fraction of minutes, k- N (north) or S (south) + */ + + gst_tag_register (GST_TAG_GPS_LONGITUDE, GST_TAG_FLAG_META, + G_TYPE_STRING, GST_TAG_GPS_LONGITUDE, "Longitude", NULL); + } /* |