diff --git a/ffmpeg.c b/ffmpeg.c
index 104d57e5b82ae595db9a826e0b4d0c1a09a97b4d..aec1f79caf4ab77964ed16549a13593eb2b47207 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -368,10 +368,10 @@ static int get_filtered_video_pic(AVFilterContext *ctx,
 
     if(avfilter_request_frame(ctx->inputs[0]))
         return -1;
-    if(!(pic = ctx->inputs[0]->cur_pic))
+    if(!(pic = ctx->inputs[0]->cur_buf))
         return -1;
     *picref = pic;
-    ctx->inputs[0]->cur_pic = NULL;
+    ctx->inputs[0]->cur_buf = NULL;
 
     *pts          = pic->pts;
 
diff --git a/ffplay.c b/ffplay.c
index 287e43613d9a5ac7ef81506775d8689b228a7c25..c89a8b3143479f014dc72d897adfd1c0daa97e81 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -1745,9 +1745,9 @@ static int get_filtered_video_frame(AVFilterContext *ctx, AVFrame *frame,
 
     if(avfilter_request_frame(ctx->inputs[0]))
         return -1;
-    if(!(pic = ctx->inputs[0]->cur_pic))
+    if(!(pic = ctx->inputs[0]->cur_buf))
         return -1;
-    ctx->inputs[0]->cur_pic = NULL;
+    ctx->inputs[0]->cur_buf = NULL;
 
     frame->opaque = pic;
     *pts          = pic->pts;
diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c
index 02c6106fa8a93dfee5b05edfb7426d6a30c25e0e..b7242be3317a5d5984ac9abc6f2d32e5b9729835 100644
--- a/libavfilter/avfilter.c
+++ b/libavfilter/avfilter.c
@@ -262,14 +262,14 @@ void avfilter_start_frame(AVFilterLink *link, AVFilterBufferRef *picref)
                 link_dpad(link).min_perms, link_dpad(link).rej_perms);
         */
 
-        link->cur_pic = avfilter_default_get_video_buffer(link, dst->min_perms, link->w, link->h);
-        link->srcpic = picref;
-        avfilter_copy_buffer_ref_props(link->cur_pic, link->srcpic);
+        link->cur_buf = avfilter_default_get_video_buffer(link, dst->min_perms, link->w, link->h);
+        link->src_buf = picref;
+        avfilter_copy_buffer_ref_props(link->cur_buf, link->src_buf);
     }
     else
-        link->cur_pic = picref;
+        link->cur_buf = picref;
 
-    start_frame(link, link->cur_pic);
+    start_frame(link, link->cur_buf);
 }
 
 void avfilter_end_frame(AVFilterLink *link)
@@ -283,9 +283,9 @@ void avfilter_end_frame(AVFilterLink *link)
 
     /* unreference the source picture if we're feeding the destination filter
      * a copied version dues to permission issues */
-    if(link->srcpic) {
-        avfilter_unref_buffer(link->srcpic);
-        link->srcpic = NULL;
+    if(link->src_buf) {
+        avfilter_unref_buffer(link->src_buf);
+        link->src_buf = NULL;
     }
 
 }
@@ -299,29 +299,29 @@ void avfilter_draw_slice(AVFilterLink *link, int y, int h, int slice_dir)
     FF_DPRINTF_START(NULL, draw_slice); ff_dprintf_link(NULL, link, 0); dprintf(NULL, " y:%d h:%d dir:%d\n", y, h, slice_dir);
 
     /* copy the slice if needed for permission reasons */
-    if(link->srcpic) {
+    if(link->src_buf) {
         vsub = av_pix_fmt_descriptors[link->format].log2_chroma_h;
 
         for(i = 0; i < 4; i ++) {
-            if(link->srcpic->data[i]) {
-                src[i] = link->srcpic-> data[i] +
-                    (y >> (i==0 ? 0 : vsub)) * link->srcpic-> linesize[i];
-                dst[i] = link->cur_pic->data[i] +
-                    (y >> (i==0 ? 0 : vsub)) * link->cur_pic->linesize[i];
+            if(link->src_buf->data[i]) {
+                src[i] = link->src_buf-> data[i] +
+                    (y >> (i==0 ? 0 : vsub)) * link->src_buf-> linesize[i];
+                dst[i] = link->cur_buf->data[i] +
+                    (y >> (i==0 ? 0 : vsub)) * link->cur_buf->linesize[i];
             } else
                 src[i] = dst[i] = NULL;
         }
 
         for(i = 0; i < 4; i ++) {
             int planew =
-                ff_get_plane_bytewidth(link->format, link->cur_pic->w, i);
+                ff_get_plane_bytewidth(link->format, link->cur_buf->w, i);
 
             if(!src[i]) continue;
 
             for(j = 0; j < h >> (i==0 ? 0 : vsub); j ++) {
                 memcpy(dst[i], src[i], planew);
-                src[i] += link->srcpic ->linesize[i];
-                dst[i] += link->cur_pic->linesize[i];
+                src[i] += link->src_buf ->linesize[i];
+                dst[i] += link->cur_buf->linesize[i];
             }
         }
     }
diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h
index a9e765b4de105f0d88baf4ceca265b8186569ab4..3fc5e8cf2319d005c7781af8e2d6da97d44c1ed6 100644
--- a/libavfilter/avfilter.h
+++ b/libavfilter/avfilter.h
@@ -25,7 +25,7 @@
 #include "libavutil/avutil.h"
 
 #define LIBAVFILTER_VERSION_MAJOR  1
-#define LIBAVFILTER_VERSION_MINOR 30
+#define LIBAVFILTER_VERSION_MINOR 31
 #define LIBAVFILTER_VERSION_MICRO  0
 
 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
@@ -530,10 +530,10 @@ struct AVFilterLink
      * for the destination. This should not be accessed directly by the
      * filters.
      */
-    AVFilterBufferRef *srcpic;
+    AVFilterBufferRef *src_buf;
 
-    AVFilterBufferRef *cur_pic;
-    AVFilterBufferRef *outpic;
+    AVFilterBufferRef *cur_buf;
+    AVFilterBufferRef *out_buf;
 };
 
 /**
diff --git a/libavfilter/defaults.c b/libavfilter/defaults.c
index 78696e4665c83e900db441ee8fc085176aa29ca7..5b1d5b86a6cd855e0e2a36d50f481695c8826396 100644
--- a/libavfilter/defaults.c
+++ b/libavfilter/defaults.c
@@ -73,9 +73,9 @@ void avfilter_default_start_frame(AVFilterLink *link, AVFilterBufferRef *picref)
         out = link->dst->outputs[0];
 
     if(out) {
-        out->outpic      = avfilter_get_video_buffer(out, AV_PERM_WRITE, out->w, out->h);
-        avfilter_copy_buffer_ref_props(out->outpic, picref);
-        avfilter_start_frame(out, avfilter_ref_buffer(out->outpic, ~0));
+        out->out_buf      = avfilter_get_video_buffer(out, AV_PERM_WRITE, out->w, out->h);
+        avfilter_copy_buffer_ref_props(out->out_buf, picref);
+        avfilter_start_frame(out, avfilter_ref_buffer(out->out_buf, ~0));
     }
 }
 
@@ -97,13 +97,13 @@ void avfilter_default_end_frame(AVFilterLink *link)
     if(link->dst->output_count)
         out = link->dst->outputs[0];
 
-    avfilter_unref_buffer(link->cur_pic);
-    link->cur_pic = NULL;
+    avfilter_unref_buffer(link->cur_buf);
+    link->cur_buf = NULL;
 
     if(out) {
-        if(out->outpic) {
-            avfilter_unref_buffer(out->outpic);
-            out->outpic = NULL;
+        if(out->out_buf) {
+            avfilter_unref_buffer(out->out_buf);
+            out->out_buf = NULL;
         }
         avfilter_end_frame(out);
     }
diff --git a/libavfilter/vf_pad.c b/libavfilter/vf_pad.c
index 1dd26a9bc391b6e1a82d9433d63b967161a26aee..09d23d7adcb36341be911b59a8ac7849e88ac896 100644
--- a/libavfilter/vf_pad.c
+++ b/libavfilter/vf_pad.c
@@ -247,7 +247,7 @@ static void start_frame(AVFilterLink *inlink, AVFilterBufferRef *inpicref)
     AVFilterBufferRef *outpicref = avfilter_ref_buffer(inpicref, ~0);
     int plane;
 
-    inlink->dst->outputs[0]->outpic = outpicref;
+    inlink->dst->outputs[0]->out_buf = outpicref;
 
     for (plane = 0; plane < 4 && outpicref->data[plane]; plane++) {
         int hsub = (plane == 1 || plane == 2) ? pad->hsub : 0;
@@ -263,7 +263,7 @@ static void start_frame(AVFilterLink *inlink, AVFilterBufferRef *inpicref)
 static void end_frame(AVFilterLink *link)
 {
     avfilter_end_frame(link->dst->outputs[0]);
-    avfilter_unref_buffer(link->cur_pic);
+    avfilter_unref_buffer(link->cur_buf);
 }
 
 static void draw_send_bar_slice(AVFilterLink *link, int y, int h, int slice_dir, int before_slice)
@@ -282,7 +282,7 @@ static void draw_send_bar_slice(AVFilterLink *link, int y, int h, int slice_dir,
     }
 
     if (bar_h) {
-        draw_rectangle(link->dst->outputs[0]->outpic,
+        draw_rectangle(link->dst->outputs[0]->out_buf,
                        pad->line, pad->line_step, pad->hsub, pad->vsub,
                        0, bar_y, pad->w, bar_h);
         avfilter_draw_slice(link->dst->outputs[0], bar_y, bar_h, slice_dir);
@@ -292,7 +292,7 @@ static void draw_send_bar_slice(AVFilterLink *link, int y, int h, int slice_dir,
 static void draw_slice(AVFilterLink *link, int y, int h, int slice_dir)
 {
     PadContext *pad = link->dst->priv;
-    AVFilterBufferRef *outpic = link->dst->outputs[0]->outpic;
+    AVFilterBufferRef *outpic = link->dst->outputs[0]->out_buf;
 
     y += pad->y;
 
diff --git a/libavfilter/vf_pixdesctest.c b/libavfilter/vf_pixdesctest.c
index d06741950d67365d127bb7db8dc43f7624da2aa3..8779ee0938db35a7b61998831e49d30d3077b46e 100644
--- a/libavfilter/vf_pixdesctest.c
+++ b/libavfilter/vf_pixdesctest.c
@@ -55,9 +55,9 @@ static void start_frame(AVFilterLink *inlink, AVFilterBufferRef *picref)
     AVFilterBufferRef *outpicref;
     int i;
 
-    outlink->outpic = avfilter_get_video_buffer(outlink, AV_PERM_WRITE,
+    outlink->out_buf = avfilter_get_video_buffer(outlink, AV_PERM_WRITE,
                                                 outlink->w, outlink->h);
-    outpicref = outlink->outpic;
+    outpicref = outlink->out_buf;
     avfilter_copy_buffer_ref_props(outpicref, picref);
 
     for (i = 0; i < 4; i++) {
@@ -80,8 +80,8 @@ static void start_frame(AVFilterLink *inlink, AVFilterBufferRef *picref)
 static void draw_slice(AVFilterLink *inlink, int y, int h, int slice_dir)
 {
     PixdescTestContext *priv = inlink->dst->priv;
-    AVFilterBufferRef *inpic    = inlink->cur_pic;
-    AVFilterBufferRef *outpic   = inlink->dst->outputs[0]->outpic;
+    AVFilterBufferRef *inpic    = inlink->cur_buf;
+    AVFilterBufferRef *outpic   = inlink->dst->outputs[0]->out_buf;
     int i, c, w = inlink->w;
 
     for (c = 0; c < priv->pix_desc->nb_components; c++) {
diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c
index 3dd02fe2c2df834afae2f5fbf23e1777b0b926af..c45443fee2d1d8f7c392f3a3458400ca4d3c1d59 100644
--- a/libavfilter/vf_scale.c
+++ b/libavfilter/vf_scale.c
@@ -154,7 +154,7 @@ static void start_frame(AVFilterLink *link, AVFilterBufferRef *picref)
     outpicref = avfilter_get_video_buffer(outlink, AV_PERM_WRITE, outlink->w, outlink->h);
     avfilter_copy_buffer_ref_props(outpicref, picref);
 
-    outlink->outpic = outpicref;
+    outlink->out_buf = outpicref;
 
     av_reduce(&outpicref->pixel_aspect.num, &outpicref->pixel_aspect.den,
               (int64_t)picref->pixel_aspect.num * outlink->h * link->w,
@@ -169,7 +169,7 @@ static void draw_slice(AVFilterLink *link, int y, int h, int slice_dir)
 {
     ScaleContext *scale = link->dst->priv;
     int out_h;
-    AVFilterBufferRef *cur_pic = link->cur_pic;
+    AVFilterBufferRef *cur_pic = link->cur_buf;
     const uint8_t *data[4];
 
     if (scale->slice_y == 0 && slice_dir == -1)
@@ -183,8 +183,8 @@ static void draw_slice(AVFilterLink *link, int y, int h, int slice_dir)
     data[3] = cur_pic->data[3] +  y               * cur_pic->linesize[3];
 
     out_h = sws_scale(scale->sws, data, cur_pic->linesize, y, h,
-                      link->dst->outputs[0]->outpic->data,
-                      link->dst->outputs[0]->outpic->linesize);
+                      link->dst->outputs[0]->out_buf->data,
+                      link->dst->outputs[0]->out_buf->linesize);
 
     if (slice_dir == -1)
         scale->slice_y -= out_h;
diff --git a/libavfilter/vf_unsharp.c b/libavfilter/vf_unsharp.c
index ba7e83b732ff28b0923473fd52b09495b1ca50a2..fa6227589f2fc3b865eef4613029405ef7e030dc 100644
--- a/libavfilter/vf_unsharp.c
+++ b/libavfilter/vf_unsharp.c
@@ -195,8 +195,8 @@ static av_cold void uninit(AVFilterContext *ctx)
 static void end_frame(AVFilterLink *link)
 {
     UnsharpContext *unsharp = link->dst->priv;
-    AVFilterBufferRef *in  = link->cur_pic;
-    AVFilterBufferRef *out = link->dst->outputs[0]->outpic;
+    AVFilterBufferRef *in  = link->cur_buf;
+    AVFilterBufferRef *out = link->dst->outputs[0]->out_buf;
 
     unsharpen(out->data[0], in->data[0], out->linesize[0], in->linesize[0], link->w,            link->h,             &unsharp->luma);
     unsharpen(out->data[1], in->data[1], out->linesize[1], in->linesize[1], CHROMA_WIDTH(link), CHROMA_HEIGHT(link), &unsharp->chroma);