summaryrefslogtreecommitdiff
path: root/libavcodec/exif.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-04-20 02:58:02 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-04-20 17:01:46 +0200
commita94de50ba02f5c260ca7c571b43fb595c8f951b6 (patch)
tree08a113eb6a16415a16c48442fc5ff800e0664c65 /libavcodec/exif.c
parentcd4faed89378dfb9ba4c985ef661d10c0d7e7b7e (diff)
downloadffmpeg-a94de50ba02f5c260ca7c571b43fb595c8f951b6.tar.gz
avcodec/exif/exif_add_metadata: add support for SSHORT & SBYTE
No working testcase, this omission was just spoted when the parser apparently went out of sync. Reviewed-by; Thilo Borgmann <thilo.borgmann@mail.de> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/exif.c')
-rw-r--r--libavcodec/exif.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libavcodec/exif.c b/libavcodec/exif.c
index 984adafd10..0f3f80c976 100644
--- a/libavcodec/exif.c
+++ b/libavcodec/exif.c
@@ -48,9 +48,11 @@ static int exif_add_metadata(AVCodecContext *avctx, int count, int type,
{
switch(type) {
case TIFF_DOUBLE : return ff_tadd_doubles_metadata(count, name, sep, gb, le, metadata);
- case TIFF_SHORT : return ff_tadd_shorts_metadata(count, name, sep, gb, le, metadata);
+ case TIFF_SSHORT : return ff_tadd_shorts_metadata(count, name, sep, gb, le, 1, metadata);
+ case TIFF_SHORT : return ff_tadd_shorts_metadata(count, name, sep, gb, le, 0, metadata);
+ case TIFF_SBYTE : return ff_tadd_bytes_metadata(count, name, sep, gb, le, 1, metadata);
case TIFF_BYTE :
- case TIFF_UNDEFINED: return ff_tadd_bytes_metadata(count, name, sep, gb, le, metadata);
+ case TIFF_UNDEFINED: return ff_tadd_bytes_metadata(count, name, sep, gb, le, 0, metadata);
case TIFF_STRING : return ff_tadd_string_metadata(count, name, gb, le, metadata);
case TIFF_SRATIONAL:
case TIFF_RATIONAL : return ff_tadd_rational_metadata(count, name, sep, gb, le, metadata);