diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 5ddcd5be8b716a97b07e8e2820eaf02c64fed977..5a4a14151b62eac07932bf5bacba32ed8b6a17e8 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -1189,6 +1189,33 @@ static int mov_write_meta_tag(ByteIOContext *pb, MOVContext *mov,
     return size;
 }
 
+static int utf8len(const uint8_t *b)
+{
+    int len=0;
+    int val;
+    while(*b){
+        GET_UTF8(val, *b++, return -1;)
+        len++;
+    }
+    return len;
+}
+
+static int ascii_to_wc(ByteIOContext *pb, const uint8_t *b)
+{
+    int val;
+    while(*b){
+        GET_UTF8(val, *b++, return -1;)
+        put_be16(pb, val);
+    }
+    put_be16(pb, 0x00);
+    return 0;
+}
+
+static uint16_t language_code(const char *str)
+{
+    return (((str[0]-0x60) & 0x1F) << 10) + (((str[1]-0x60) & 0x1F) << 5) + ((str[2]-0x60) & 0x1F);
+}
+
 static int mov_write_udta_tag(ByteIOContext *pb, MOVContext *mov,
                               AVFormatContext *s)
 {
@@ -1227,33 +1254,6 @@ static int mov_write_udta_tag(ByteIOContext *pb, MOVContext *mov,
     return 0;
 }
 
-static int utf8len(const uint8_t *b)
-{
-    int len=0;
-    int val;
-    while(*b){
-        GET_UTF8(val, *b++, return -1;)
-        len++;
-    }
-    return len;
-}
-
-static int ascii_to_wc(ByteIOContext *pb, const uint8_t *b)
-{
-    int val;
-    while(*b){
-        GET_UTF8(val, *b++, return -1;)
-        put_be16(pb, val);
-    }
-    put_be16(pb, 0x00);
-    return 0;
-}
-
-static uint16_t language_code(const char *str)
-{
-    return (((str[0]-0x60) & 0x1F) << 10) + (((str[1]-0x60) & 0x1F) << 5) + ((str[2]-0x60) & 0x1F);
-}
-
 static void mov_write_psp_udta_tag(ByteIOContext *pb,
                                   const char *str, const char *lang, int type)
 {