--- src/md5/md5.h
+++ src/md5/md5.h
@@ -67,23 +67,23 @@
 
 /* Initialize the algorithm. */
 #ifdef P1
-void md5_init(P1(md5_state_t *pms));
+void mediatomb_md5_init(P1(md5_state_t *pms));
 #else
-void md5_init(md5_state_t *pms);
+void mediatomb_md5_init(md5_state_t *pms);
 #endif
 
 /* Append a string to the message. */
 #ifdef P3
-void md5_append(P3(md5_state_t *pms, const md5_byte_t *data, int nbytes));
+void mediatomb_md5_append(P3(md5_state_t *pms, const md5_byte_t *data, int nbytes));
 #else
-void md5_append(md5_state_t *pms, const md5_byte_t *data, int nbytes);
+void mediatomb_md5_append(md5_state_t *pms, const md5_byte_t *data, int nbytes);
 #endif
 
 /* Finish the message and return the digest. */
 #ifdef P2
-void md5_finish(P2(md5_state_t *pms, md5_byte_t digest[16]));
+void mediatomb_md5_finish(P2(md5_state_t *pms, md5_byte_t digest[16]));
 #else
-void md5_finish(md5_state_t *pms, md5_byte_t digest[16]);
+void mediatomb_md5_finish(md5_state_t *pms, md5_byte_t digest[16]);
 #endif
 
 #ifdef __cplusplus
--- src/md5/md5.c
+++ src/md5/md5.c
@@ -66,9 +66,9 @@
 	md5_byte_t digest[16];
 	int di;
 
-	md5_init(&state);
-	md5_append(&state, (const md5_byte_t *)test[i], strlen(test[i]));
-	md5_finish(&state, digest);
+	mediatomb_md5_init(&state);
+	mediatomb_md5_append(&state, (const md5_byte_t *)test[i], strlen(test[i]));
+	mediatomb_md5_finish(&state, digest);
 	printf("MD5 (\"%s\") = ", test[i]);
 	for (di = 0; di < 16; ++di)
 	    printf("%02x", digest[di]);
@@ -321,7 +321,7 @@
 }
 
 void
-md5_init(md5_state_t *pms)
+mediatomb_md5_init(md5_state_t *pms)
 {
     pms->count[0] = pms->count[1] = 0;
     pms->abcd[0] = 0x67452301;
@@ -331,7 +331,7 @@
 }
 
 void
-md5_append(md5_state_t *pms, const md5_byte_t *data, int nbytes)
+mediatomb_md5_append(md5_state_t *pms, const md5_byte_t *data, int nbytes)
 {
     const md5_byte_t *p = data;
     int left = nbytes;
@@ -369,7 +369,7 @@
 }
 
 void
-md5_finish(md5_state_t *pms, md5_byte_t digest[16])
+mediatomb_md5_finish(md5_state_t *pms, md5_byte_t digest[16])
 {
     static const md5_byte_t pad[64] = {
 	0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -384,9 +384,9 @@
     for (i = 0; i < 8; ++i)
 	data[i] = (md5_byte_t)(pms->count[i >> 2] >> ((i & 3) << 3));
     /* Pad to 56 bytes mod 64. */
-    md5_append(pms, pad, ((55 - (pms->count[0] >> 3)) & 63) + 1);
+    mediatomb_md5_append(pms, pad, ((55 - (pms->count[0] >> 3)) & 63) + 1);
     /* Append the length. */
-    md5_append(pms, data, 8);
+    mediatomb_md5_append(pms, data, 8);
     for (i = 0; i < 16; ++i)
 	digest[i] = (md5_byte_t)(pms->abcd[i >> 2] >> ((i & 3) << 3));
 }
--- src/tools.cc
+++ src/tools.cc
@@ -333,9 +333,9 @@
     char md5buf[16];
 
     md5_state_t ctx;
-    md5_init(&ctx);
-    md5_append(&ctx, (unsigned char *)data, length);
-    md5_finish(&ctx, (unsigned char *)md5buf);
+    mediatomb_md5_init(&ctx);
+    mediatomb_md5_append(&ctx, (unsigned char *)data, length);
+    mediatomb_md5_finish(&ctx, (unsigned char *)md5buf);
 
     return hex_encode(md5buf, 16);
 }
