Skip to content

exiftag: Correct parse of ISO and sensor tags

This patch corrects a scenario where the exif parser implemented in gstexiftag.c mistakenly makes EXIF_TAG_PHOTOGRAPHIC_SENSITIVITY depend on the parsing of EXIF_TAG_SENSITIVITY_TYPE.

New GST_TAGs are added: GST_TAG_SENSITIVITY_TYPE GST_TAG_ISO_SPEED_SENSITIVITY GST_TAG_STANDARD_OUTPUT_SENSITIVITY GST_TAG_RECOMMENDED_EXPOSURE_SENSITIVITY

This way sensitivity type is a tag in it's own right and it's associated tags also. The conflict between tag 0x8827 (ISoSpeedRatings/PhotoSensitivity) and tag 0x8833 are no more as they are completely independent.

A function to parse exif tags of short type was also added because EXIF_TAG_PHOTOGRAPHIC_SENSITIVITY is of type short.

A bug in the parsing of Big Endian longs in the exif was also fixed as the code is very similar to the implemented shorts parser.

At last and not least the testing code included in this patch is attributed to Tim-Phillip Muller, with some additional test cases.

Fixes #2704

Edited by Fabián Orccón

Merge request reports