diff --git a/ffmpeg.c b/ffmpeg.c
index 185ca19a2bf38804b5b64ecda18456a06c764da6..4a737b4945c3e941265d550eb093436f138fa50a 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -508,7 +508,7 @@ static int ffmpeg_exit(int ret)
         AVFormatContext *s = output_files[i];
         int j;
         if (!(s->oformat->flags & AVFMT_NOFILE) && s->pb)
-            url_fclose(s->pb);
+            avio_close(s->pb);
         avformat_free_context(s);
         av_free(output_streams_for_file[i]);
     }
@@ -3789,7 +3789,7 @@ static void opt_output_file(const char *filename)
         }
 
         /* open the file */
-        if ((err = url_fopen(&oc->pb, filename, URL_WRONLY)) < 0) {
+        if ((err = avio_open(&oc->pb, filename, URL_WRONLY)) < 0) {
             print_error(filename, err);
             ffmpeg_exit(1);
         }
diff --git a/ffserver.c b/ffserver.c
index abc7cd9f9604e8a766ace9a1f86e7362d4a584ac..e5c4ac23d8a60295e3bcb6bf79d84fcba09ad206 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -3764,7 +3764,7 @@ static void build_feed_streams(void)
             }
 
             /* only write the header of the ffm file */
-            if (url_fopen(&s->pb, feed->feed_filename, URL_WRONLY) < 0) {
+            if (avio_open(&s->pb, feed->feed_filename, URL_WRONLY) < 0) {
                 http_log("Could not open output feed file '%s'\n",
                          feed->feed_filename);
                 exit(1);
@@ -3783,7 +3783,7 @@ static void build_feed_streams(void)
             }
             /* XXX: need better api */
             av_freep(&s->priv_data);
-            url_fclose(s->pb);
+            avio_close(s->pb);
         }
         /* get feed size and write index */
         fd = open(feed->feed_filename, O_RDONLY);
diff --git a/libavformat/applehttp.c b/libavformat/applehttp.c
index e35aaa8ac4c07832b1ad503e447904633eb6af42..5118d03670a51febbc769f9b56e150efa5a29930 100644
--- a/libavformat/applehttp.c
+++ b/libavformat/applehttp.c
@@ -154,7 +154,7 @@ static void free_variant_list(AppleHTTPContext *c)
         free_segment_list(var);
         av_free_packet(&var->pkt);
         if (var->pb)
-            url_fclose(var->pb);
+            avio_close(var->pb);
         if (var->ctx) {
             var->ctx->pb = NULL;
             av_close_input_file(var->ctx);
@@ -211,7 +211,7 @@ static int parse_playlist(AppleHTTPContext *c, const char *url,
 
     if (!in) {
         close_in = 1;
-        if ((ret = url_fopen(&in, url, URL_RDONLY)) < 0)
+        if ((ret = avio_open(&in, url, URL_RDONLY)) < 0)
             return ret;
     }
 
@@ -284,7 +284,7 @@ static int parse_playlist(AppleHTTPContext *c, const char *url,
 
 fail:
     if (close_in)
-        url_fclose(in);
+        avio_close(in);
     return ret;
 }
 
@@ -338,7 +338,7 @@ static int applehttp_read_header(AVFormatContext *s, AVFormatParameters *ap)
         ret = av_open_input_file(&v->ctx, v->segments[0]->url, NULL, 0, NULL);
         if (ret < 0)
             goto fail;
-        url_fclose(v->ctx->pb);
+        avio_close(v->ctx->pb);
         v->ctx->pb = NULL;
         v->stream_offset = stream_offset;
         /* Create new AVStreams for each stream in this variant */
@@ -378,7 +378,7 @@ static int open_variant(AppleHTTPContext *c, struct variant *var, int skip)
     }
     if (c->cur_seq_no - var->start_seq_no >= var->n_segments)
         return c->finished ? AVERROR_EOF : 0;
-    ret = url_fopen(&var->pb,
+    ret = avio_open(&var->pb,
                     var->segments[c->cur_seq_no - var->start_seq_no]->url,
                     URL_RDONLY);
     if (ret < 0)
@@ -435,7 +435,7 @@ start:
                    "Closing variant stream %d, no longer needed\n", i);
             av_free_packet(&var->pkt);
             reset_packet(&var->pkt);
-            url_fclose(var->pb);
+            avio_close(var->pb);
             var->pb = NULL;
             changed = 1;
         } else if (!var->pb && var->needed) {
@@ -484,7 +484,7 @@ start:
     for (i = 0; i < c->n_variants; i++) {
         struct variant *var = c->variants[i];
         if (var->pb) {
-            url_fclose(var->pb);
+            avio_close(var->pb);
             var->pb = NULL;
         }
     }
@@ -558,7 +558,7 @@ static int applehttp_read_seek(AVFormatContext *s, int stream_index,
     for (i = 0; i < c->n_variants; i++) {
         struct variant *var = c->variants[i];
         if (var->pb) {
-            url_fclose(var->pb);
+            avio_close(var->pb);
             var->pb = NULL;
         }
         av_free_packet(&var->pkt);
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 3fd7f75075b4b460b3d55a55f2542c87c9054793..4f25d66dc8ed9236eb6ffb5b88c1a22a15be4edd 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -261,7 +261,7 @@ typedef struct AVFormatParameters {
 #endif
 } AVFormatParameters;
 
-//! Demuxer will use url_fopen, no opened file should be provided by the caller.
+//! Demuxer will use avio_open, no opened file should be provided by the caller.
 #define AVFMT_NOFILE        0x0001
 #define AVFMT_NEEDNUMBER    0x0002 /**< Needs '%d' in filename. */
 #define AVFMT_SHOW_IDS      0x0008 /**< Show format stream IDs numbers. */
diff --git a/libavformat/avio.h b/libavformat/avio.h
index 41fe6fbeca742302eb7b092d7cf5de45a4fc1bfb..58762282358ea4a34cf1db848dae998f78d8e3e2 100644
--- a/libavformat/avio.h
+++ b/libavformat/avio.h
@@ -410,6 +410,18 @@ attribute_deprecated void         put_be16(AVIOContext *s, unsigned int val);
 /**
  * @}
  */
+
+
+/**
+ * @defgroup old_url_f_funcs Old url_f* functions
+ * @deprecated use the avio_ -prefixed functions instead.
+ * @{
+ */
+attribute_deprecated int url_fopen( AVIOContext **s, const char *url, int flags);
+attribute_deprecated int url_fclose(AVIOContext *s);
+/**
+ * @}
+ */
 #endif
 
 AVIOContext *avio_alloc_context(
@@ -591,9 +603,9 @@ int ff_rewind_with_probe_data(AVIOContext *s, unsigned char *buf, int buf_size);
  * @return 0 in case of success, a negative value corresponding to an
  * AVERROR code in case of failure
  */
-int url_fopen(AVIOContext **s, const char *url, int flags);
+int avio_open(AVIOContext **s, const char *url, int flags);
 
-int url_fclose(AVIOContext *s);
+int avio_close(AVIOContext *s);
 URLContext *url_fileno(AVIOContext *s);
 
 /**
diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c
index eb48758c46834cf1b6a8507370d75a805ad47ef8..270352ecb6221db10785b88d80cb8ec0a56a4a5c 100644
--- a/libavformat/aviobuf.c
+++ b/libavformat/aviobuf.c
@@ -356,6 +356,15 @@ void put_nbyte(AVIOContext *s, int b, int count)
 {
     ffio_fill(s, b, count);
 }
+
+int url_fopen(AVIOContext **s, const char *filename, int flags)
+{
+    return avio_open(s, filename, flags);
+}
+int url_fclose(AVIOContext *s)
+{
+    return avio_close(s);
+}
 #endif
 
 int avio_put_str(AVIOContext *s, const char *str)
@@ -843,7 +852,7 @@ int ff_rewind_with_probe_data(AVIOContext *s, unsigned char *buf, int buf_size)
     return 0;
 }
 
-int url_fopen(AVIOContext **s, const char *filename, int flags)
+int avio_open(AVIOContext **s, const char *filename, int flags)
 {
     URLContext *h;
     int err;
@@ -859,7 +868,7 @@ int url_fopen(AVIOContext **s, const char *filename, int flags)
     return 0;
 }
 
-int url_fclose(AVIOContext *s)
+int avio_close(AVIOContext *s)
 {
     URLContext *h = s->opaque;
 
diff --git a/libavformat/img2.c b/libavformat/img2.c
index 56c4850efef88739c2d272fc8bd35287810d99b0..25ed2b32e8092f4ae8eadd328c3412a7c785a3de 100644
--- a/libavformat/img2.c
+++ b/libavformat/img2.c
@@ -269,7 +269,7 @@ static int read_packet(AVFormatContext *s1, AVPacket *pkt)
                                   s->path, s->img_number)<0 && s->img_number > 1)
             return AVERROR(EIO);
         for(i=0; i<3; i++){
-            if (url_fopen(&f[i], filename, URL_RDONLY) < 0) {
+            if (avio_open(&f[i], filename, URL_RDONLY) < 0) {
                 if(i==1)
                     break;
                 av_log(s1, AV_LOG_ERROR, "Could not open file : %s\n",filename);
@@ -300,7 +300,7 @@ static int read_packet(AVFormatContext *s1, AVPacket *pkt)
         if(size[i]){
             ret[i]= avio_read(f[i], pkt->data + pkt->size, size[i]);
             if (!s->is_pipe)
-                url_fclose(f[i]);
+                avio_close(f[i]);
             if(ret[i]>0)
                 pkt->size += ret[i];
         }
@@ -353,7 +353,7 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt)
             return AVERROR(EIO);
         }
         for(i=0; i<3; i++){
-            if (url_fopen(&pb[i], filename, URL_WRONLY) < 0) {
+            if (avio_open(&pb[i], filename, URL_WRONLY) < 0) {
                 av_log(s, AV_LOG_ERROR, "Could not open file : %s\n",filename);
                 return AVERROR(EIO);
             }
@@ -373,8 +373,8 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt)
         avio_write(pb[2], pkt->data + ysize +(pkt->size - ysize)/2, (pkt->size - ysize)/2);
         put_flush_packet(pb[1]);
         put_flush_packet(pb[2]);
-        url_fclose(pb[1]);
-        url_fclose(pb[2]);
+        avio_close(pb[1]);
+        avio_close(pb[2]);
     }else{
         if(av_str2id(img_tags, s->filename) == CODEC_ID_JPEG2000){
             AVStream *st = s->streams[0];
@@ -403,7 +403,7 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt)
     }
     put_flush_packet(pb[0]);
     if (!img->is_pipe) {
-        url_fclose(pb[0]);
+        avio_close(pb[0]);
     }
 
     img->img_number++;
diff --git a/libavformat/mov.c b/libavformat/mov.c
index eadb8f8988fe8c4702d2358ce3c431a0d6ebae8b..6becc77c0ca8a69596dc1fd0dffa5a8e676ac75f 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -1718,7 +1718,7 @@ static int mov_open_dref(AVIOContext **pb, char *src, MOVDref *ref)
 
             av_strlcat(filename, ref->path + l + 1, 1024);
 
-            if (!url_fopen(pb, filename, URL_RDONLY))
+            if (!avio_open(pb, filename, URL_RDONLY))
                 return 0;
         }
     }
@@ -2546,7 +2546,7 @@ static int mov_read_close(AVFormatContext *s)
         }
         av_freep(&sc->drefs);
         if (sc->pb && sc->pb != s->pb)
-            url_fclose(sc->pb);
+            avio_close(sc->pb);
 
         av_freep(&st->codec->palctrl);
     }
diff --git a/libavformat/output-example.c b/libavformat/output-example.c
index edb5c87243a25c8de318f36c036ac83c16352613..b6be2b97db4d28f303f2cb2b9773647248460f2a 100644
--- a/libavformat/output-example.c
+++ b/libavformat/output-example.c
@@ -492,7 +492,7 @@ int main(int argc, char **argv)
 
     /* open the output file, if needed */
     if (!(fmt->flags & AVFMT_NOFILE)) {
-        if (url_fopen(&oc->pb, filename, URL_WRONLY) < 0) {
+        if (avio_open(&oc->pb, filename, URL_WRONLY) < 0) {
             fprintf(stderr, "Could not open '%s'\n", filename);
             exit(1);
         }
@@ -545,7 +545,7 @@ int main(int argc, char **argv)
 
     if (!(fmt->flags & AVFMT_NOFILE)) {
         /* close the output file */
-        url_fclose(oc->pb);
+        avio_close(oc->pb);
     }
 
     /* free the stream */
diff --git a/libavformat/rtpenc_chain.c b/libavformat/rtpenc_chain.c
index 63918adf49dff67610e3d7a176588b0535ec21ef..84611e690d211b2db94638e5ff1737b604a87ecc 100644
--- a/libavformat/rtpenc_chain.c
+++ b/libavformat/rtpenc_chain.c
@@ -60,7 +60,7 @@ AVFormatContext *ff_rtp_chain_mux_open(AVFormatContext *s, AVStream *st,
 
     if (ret) {
         if (handle) {
-            url_fclose(rtpctx->pb);
+            avio_close(rtpctx->pb);
         } else {
             uint8_t *ptr;
             url_close_dyn_buf(rtpctx->pb, &ptr);
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 62311cbb233bdca70d062d2a17cb7f93c50b6625..a24f12bacff6229850624c245adb02ca6ea624e3 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -498,7 +498,7 @@ void ff_rtsp_undo_setup(AVFormatContext *s)
                     url_close_dyn_buf(rtpctx->pb, &ptr);
                     av_free(ptr);
                 } else {
-                    url_fclose(rtpctx->pb);
+                    avio_close(rtpctx->pb);
                 }
                 avformat_free_context(rtpctx);
             } else if (rt->transport == RTSP_TRANSPORT_RDT && CONFIG_RTPDEC)
diff --git a/libavformat/rtspdec.c b/libavformat/rtspdec.c
index e79f873e1bc886cf93ab0e4be634054c5e215afb..95b8690f3ece1f434c986765b5fa463d63d2a137 100644
--- a/libavformat/rtspdec.c
+++ b/libavformat/rtspdec.c
@@ -382,7 +382,7 @@ static int rtsp_read_close(AVFormatContext *s)
 #if 0
     /* NOTE: it is valid to flush the buffer here */
     if (rt->lower_transport == RTSP_LOWER_TRANSPORT_TCP) {
-        url_fclose(&rt->rtsp_gb);
+        avio_close(&rt->rtsp_gb);
     }
 #endif
     ff_rtsp_send_cmd_async(s, "TEARDOWN", rt->control_uri, NULL);
diff --git a/libavformat/sapenc.c b/libavformat/sapenc.c
index bd3483e296edd2860bda527a7598f482507aa94b..bc66adcd7788a748bf3c4e0b0e46c092e3a159fa 100644
--- a/libavformat/sapenc.c
+++ b/libavformat/sapenc.c
@@ -46,7 +46,7 @@ static int sap_write_close(AVFormatContext *s)
         if (!rtpctx)
             continue;
         av_write_trailer(rtpctx);
-        url_fclose(rtpctx->pb);
+        avio_close(rtpctx->pb);
         avformat_free_context(rtpctx);
         s->streams[i]->priv_data = NULL;
     }
diff --git a/libavformat/utils.c b/libavformat/utils.c
index f5d60a3bfcd592d7a749c9a424eb0bb2a002b43a..1f0164ffac81f43838ca6222e36d7727f08cc767 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -616,7 +616,7 @@ int av_open_input_file(AVFormatContext **ic_ptr, const char *filename,
        hack needed to handle RTSP/TCP */
     if (!fmt || !(fmt->flags & AVFMT_NOFILE)) {
         /* if no file needed do not try to open one */
-        if ((err=url_fopen(&pb, filename, URL_RDONLY)) < 0) {
+        if ((err=avio_open(&pb, filename, URL_RDONLY)) < 0) {
             goto fail;
         }
         if (buf_size > 0) {
@@ -647,7 +647,7 @@ int av_open_input_file(AVFormatContext **ic_ptr, const char *filename,
  fail:
     av_freep(&pd->buf);
     if (pb)
-        url_fclose(pb);
+        avio_close(pb);
     if (ap && ap->prealloced_context)
         av_free(*ic_ptr);
     *ic_ptr = NULL;
@@ -2623,7 +2623,7 @@ void av_close_input_file(AVFormatContext *s)
     AVIOContext *pb = s->iformat->flags & AVFMT_NOFILE ? NULL : s->pb;
     av_close_input_stream(s);
     if (pb)
-        url_fclose(pb);
+        avio_close(pb);
 }
 
 AVStream *av_new_stream(AVFormatContext *s, int id)