diff --git a/libavformat/Makefile b/libavformat/Makefile
index a57f797d8633fdfab3220f04c993876e3e00da0b..1fbfd38a7223efc3ddd82bc171ada473fb7905fe 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -166,7 +166,7 @@ OBJS+= avio.o aviobuf.o
 ifeq ($(CONFIG_PROTOCOLS),yes)
 OBJS+= file.o
 ifeq ($(CONFIG_NETWORK),yes)
-OBJS+= udp.o tcp.o http.o rtsp.o rtp.o rtpproto.o mpegts.o base64.o rtp_h264.o
+OBJS+= udp.o tcp.o http.o rtsp.o rtp.o rtpproto.o mpegts.o rtp_h264.o
 endif
 endif
 
diff --git a/libavutil/Makefile b/libavutil/Makefile
index f4b1766d838de19e096d3e0c7c810acd03dfc610..a2e35e708c090f9c2a2ab3fb06aa882d3fc584e3 100644
--- a/libavutil/Makefile
+++ b/libavutil/Makefile
@@ -19,6 +19,7 @@ OBJS= mathematics.o \
       lzo.o \
       random.o \
       aes.o \
+      base64.o \
 
 HEADERS = avutil.h common.h mathematics.h integer.h rational.h \
           intfloat_readwrite.h md5.h adler32.h log.h fifo.h lzo.h \
diff --git a/libavformat/base64.c b/libavutil/base64.c
similarity index 100%
rename from libavformat/base64.c
rename to libavutil/base64.c
diff --git a/libavformat/base64.h b/libavutil/base64.h
similarity index 84%
rename from libavformat/base64.h
rename to libavutil/base64.h
index 03d43afe4dc1ecff038cf9a948e9c2db908e1ee6..5658ee837a7d5f4093fe970c1f1316051d27cba4 100644
--- a/libavformat/base64.h
+++ b/libavutil/base64.h
@@ -19,6 +19,15 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
-int av_base64_decode(uint8_t * out, const char *in, int out_length);  // param order as strncpy()
-char *av_base64_encode(uint8_t * src, int len);       // src is not a string, it's data.
+/**
+ * decodes base64
+ * param order as strncpy()
+ */
+int av_base64_decode(uint8_t * out, const char *in, int out_length);
+
+/**
+ * encodes base64
+ * @param src data, not a string
+ */
+char *av_base64_encode(uint8_t * src, int len);