summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago Santos <thiago.sousa.santos@collabora.co.uk>2010-08-25 11:19:31 -0300
committerThiago Santos <thiago.sousa.santos@collabora.co.uk>2010-08-25 11:19:31 -0300
commitaa3abae744e9e51f8151041c5a2d8a8c29ec915d (patch)
tree2577c9a7f9a09450d3f9fa1e957f60a9455dcfbf
parent4915090e0173a7c04859ede7c29e6a706086627a (diff)
configure: Add check for log2
Adds check for log2 and only use it in exif library if it is available.
-rw-r--r--configure.ac4
-rw-r--r--gst-libs/gst/tag/gstexiftag.c8
2 files changed, 12 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 2f6c82b42..711676653 100644
--- a/configure.ac
+++ b/configure.ac
@@ -219,6 +219,10 @@ dnl *** checks for functions ***
AC_CHECK_FUNCS([localtime_r gmtime_r])
dnl *** checks for math functions ***
+LIBS_SAVE=$LIBS
+LIBS="$LIBS $LIBM"
+AC_CHECK_FUNCS(log2)
+LIBS=$LIBS_SAVE
dnl *** checks for types/defines ***
diff --git a/gst-libs/gst/tag/gstexiftag.c b/gst-libs/gst/tag/gstexiftag.c
index 894453b54..6ba3b838c 100644
--- a/gst-libs/gst/tag/gstexiftag.c
+++ b/gst-libs/gst/tag/gstexiftag.c
@@ -2210,7 +2210,11 @@ serialize_shutter_speed (GstExifWriter * writer, const GstTagList * taglist,
gst_util_fraction_to_double (gst_value_get_fraction_numerator (value),
gst_value_get_fraction_denominator (value), &num);
+#ifdef HAVE_LOG2
num = -log2 (num);
+#else
+ num = -log (num) / M_LN2;
+#endif
/* now the value */
gst_exif_writer_write_signed_rational_tag_from_double (writer,
@@ -2256,7 +2260,11 @@ serialize_aperture_value (GstExifWriter * writer, const GstTagList * taglist,
GST_WARNING ("Failed to get focal ratio from from tag list");
return;
}
+#ifdef HAVE_LOG2
num = 2 * log2 (num);
+#else
+ num = 2 * (log (num) / M_LN2);
+#endif
/* now the value */
gst_exif_writer_write_rational_tag_from_double (writer,