GNOME Bugzilla – Bug 482947
new generic metadata for image capturing (and other things)
Last modified: 2010-08-10 07:26:36 UTC
Hi All, I would like to add some new generic GST_TAGs to the GStreamer in order to make it possible to add proper metadata for image capturing (could also be used for other things), for example add EXIF metadata to JPEG images. To start, I have the following metadata's in mind: 1- provided by the application to the pipeline: GST_TAG_SOURCE_MAKE GST_TAG_SOURCE_MODEL * could also be provided by source element, e.g. videotestsrc sends "GStreamer videotestsrc", the cdda-reader could put the used cd-drive name there, v4l2src sends the card-name and so on (some elements probably only set _MODEL). GST_TAG_DEVICE_SERIAL GST_TAG_SOFTWARE // g_get_application_name() 2- provided by the source elements GST_TAG_TIME // there is already a GST_TAG_DATE but 'time'. // What about create tags for creation and modification instead of just one date and time?
follows bellow the new tags I would like to add for the time being (those tags replaces the proposed ones above): GST_TAG_DEVICE_MAKE G_TYPE_STRING (Sent by application, for example: "Cassio") GST_TAG_DEVICE_MODEL G_TYPE_STRING (Sent by application, for example: "Exilim 8.1 MP") GST_TAG_DATE_MODIFIED G_TYPE_DATE (alias to GST_TAG_DATE) GST_TAG_TIME_MODIFIED G_TYPE_TIME GST_TAG_DATE_ORIGINAL G_TYPE_DATE (date when the document was created) GST_TAG_TIME_ORIGINAL G_TYPE_TIME (time when the document was created) GST_TAG_DATE_DIGITIZED G_TYPE_DATE (date when the document was digitized, for example, scanned) GST_TAG_TIME_DIGITIZED G_TYPE_TIME (time when the document was digitized, for example, scanned) GST_TAG_IMAGE_CREATORTOOL G_TYPE_STRING (Sent by application or Source element, for example: "GIMP" or "GStreamer V4L2 - pwc driver") GST_TAG_IMAGE_XRESOLUTION G_TYPE_FLOAT (dpi - dots per inch) GST_TAG_IMAGE_XRESOLUTION G_TYPE_FLOAT (dpi - dots per inch) GST_TAG_CAPTURE_EXPOSURETIME G_TYPE_UINT64 (nanoseconds) GST_TAG_CAPTURE_FNUMBER G_TYPE_FLOAT (focal ratio) GST_TAG_CAPTURE_EXPOSUREPROGRAM G_TYPE_SHORT (the following enum:) 0 - not defined 1- Manual 2- Normal program 3- Aperture priority 4- Shutter priority 5- Creative program (biased toward death of field) 6- Action program (biased toward fast shutter speed) 7- Portrait mode (for closeup photos with the background out of focus) 8- Landscape mode (for landscape photos with the background in focus) 9- Night 10- Back-light 11- Spotlight 12- Snow 13- Beach GST_TAG_CAPTURE_BRIGHTNESS G_TYPE_FLOAT (APEX, from -99.99 to 99.99) GST_TAG_CAPTURE_AUTO_WHITEBALANCE G_TYPE_SHORT (the following enum:) 0- off 1- Auto 2- Sunlight 3- Cloudy 4- Shade 5- Tungsten 6- Fluorescent 7- Incandescent 8- Flash 9- Horizon (sun on the horizon) GST_TAG_CAPTURE_DIGITAL_ZOOM G_TYPE_FLOAT GST_TAG_CAPTURE_GAINCONTROL G_TYPE_SHORT (the following enum:) 0- None 1- Low gain up 2- High gain up 3- Low gain down 4- High gain down GST_TAG_CAPTURE_CONTRAST G_TYPE_SHORT (from -100 to 100) GST_TAG_CAPTURE_SATURATION G_TYPE_SHORT (from -100 to 100) .....there a few more GST_TAG_CAPTURE_ tags we could add in near future, but I think we could start with these. btw: those tags are used in Exif and XMP. Almost all tags can be provided by V4L2 element or could be also provided by OpenMax Camera Class element.
All fields in the initial comment are there (except the serial). Most of the other ones are there too. Closing. No TM as its been across modules and versions.