[FFmpeg-cvslog] lavfi: use avfilter_unref_bufferp() where appropriate.

Anton Khirnov git at videolan.org
Sun Jul 22 23:56:50 CEST 2012


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Sun Jul 15 10:12:51 2012 +0200| [02ac7311c8f1f252398b57b54992756c95f77962] | committer: Anton Khirnov

lavfi: use avfilter_unref_bufferp() where appropriate.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=02ac7311c8f1f252398b57b54992756c95f77962
---

 avplay.c                 |   12 +++---------
 libavfilter/af_join.c    |    4 ++--
 libavfilter/fifo.c       |    4 ++--
 libavfilter/vf_overlay.c |    3 +--
 libavfilter/vf_yadif.c   |    9 ++++-----
 libavfilter/vsrc_movie.c |    3 +--
 6 files changed, 13 insertions(+), 22 deletions(-)

diff --git a/avplay.c b/avplay.c
index a42a0b4..ee069b5 100644
--- a/avplay.c
+++ b/avplay.c
@@ -1235,10 +1235,7 @@ static void stream_close(VideoState *is)
     for (i = 0; i < VIDEO_PICTURE_QUEUE_SIZE; i++) {
         vp = &is->pictq[i];
 #if CONFIG_AVFILTER
-        if (vp->picref) {
-            avfilter_unref_buffer(vp->picref);
-            vp->picref = NULL;
-        }
+        avfilter_unref_bufferp(&vp->picref);
 #endif
         if (vp->bmp) {
             SDL_FreeYUVOverlay(vp->bmp);
@@ -1287,9 +1284,7 @@ static void alloc_picture(void *opaque)
         SDL_FreeYUVOverlay(vp->bmp);
 
 #if CONFIG_AVFILTER
-    if (vp->picref)
-        avfilter_unref_buffer(vp->picref);
-    vp->picref = NULL;
+    avfilter_unref_bufferp(&vp->picref);
 
     vp->width   = is->out_video_filter->inputs[0]->w;
     vp->height  = is->out_video_filter->inputs[0]->h;
@@ -1382,8 +1377,7 @@ static int queue_picture(VideoState *is, AVFrame *src_frame, double pts, int64_t
     if (vp->bmp) {
         AVPicture pict = { { 0 } };
 #if CONFIG_AVFILTER
-        if (vp->picref)
-            avfilter_unref_buffer(vp->picref);
+        avfilter_unref_bufferp(&vp->picref);
         vp->picref = src_frame->opaque;
 #endif
 
diff --git a/libavfilter/af_join.c b/libavfilter/af_join.c
index 9ed11a9..f25ec92 100644
--- a/libavfilter/af_join.c
+++ b/libavfilter/af_join.c
@@ -248,7 +248,7 @@ static void join_uninit(AVFilterContext *ctx)
 
     for (i = 0; i < ctx->nb_inputs; i++) {
         av_freep(&ctx->input_pads[i].name);
-        avfilter_unref_buffer(s->input_frames[i]);
+        avfilter_unref_bufferp(&s->input_frames[i]);
     }
 
     av_freep(&s->channels);
@@ -402,7 +402,7 @@ static void join_free_buffer(AVFilterBuffer *buf)
         int i;
 
         for (i = 0; i < priv->nb_in_buffers; i++)
-            avfilter_unref_buffer(priv->in_buffers[i]);
+            avfilter_unref_bufferp(&priv->in_buffers[i]);
 
         av_freep(&priv->in_buffers);
         av_freep(&buf->priv);
diff --git a/libavfilter/fifo.c b/libavfilter/fifo.c
index 66de62c..8264d53 100644
--- a/libavfilter/fifo.c
+++ b/libavfilter/fifo.c
@@ -65,11 +65,11 @@ static av_cold void uninit(AVFilterContext *ctx)
 
     for (buf = fifo->root.next; buf; buf = tmp) {
         tmp = buf->next;
-        avfilter_unref_buffer(buf->buf);
+        avfilter_unref_bufferp(&buf->buf);
         av_free(buf);
     }
 
-    avfilter_unref_buffer(fifo->buf_out);
+    avfilter_unref_bufferp(&fifo->buf_out);
 }
 
 static int add_to_queue(AVFilterLink *inlink, AVFilterBufferRef *buf)
diff --git a/libavfilter/vf_overlay.c b/libavfilter/vf_overlay.c
index a0c423d..951ea7a 100644
--- a/libavfilter/vf_overlay.c
+++ b/libavfilter/vf_overlay.c
@@ -88,8 +88,7 @@ static av_cold void uninit(AVFilterContext *ctx)
 {
     OverlayContext *over = ctx->priv;
 
-    if (over->overpicref)
-        avfilter_unref_buffer(over->overpicref);
+    avfilter_unref_bufferp(&over->overpicref);
 }
 
 static int query_formats(AVFilterContext *ctx)
diff --git a/libavfilter/vf_yadif.c b/libavfilter/vf_yadif.c
index 9ac11bf..1025ba1 100644
--- a/libavfilter/vf_yadif.c
+++ b/libavfilter/vf_yadif.c
@@ -224,8 +224,7 @@ static int start_frame(AVFilterLink *link, AVFilterBufferRef *picref)
 
     if (yadif->auto_enable && !yadif->cur->video->interlaced) {
         yadif->out  = avfilter_ref_buffer(yadif->cur, AV_PERM_READ);
-        avfilter_unref_buffer(yadif->prev);
-        yadif->prev = NULL;
+        avfilter_unref_bufferp(&yadif->prev);
         if (yadif->out->pts != AV_NOPTS_VALUE)
             yadif->out->pts *= 2;
         return ff_start_frame(ctx->outputs[0], yadif->out);
@@ -327,9 +326,9 @@ static av_cold void uninit(AVFilterContext *ctx)
 {
     YADIFContext *yadif = ctx->priv;
 
-    if (yadif->prev) avfilter_unref_buffer(yadif->prev);
-    if (yadif->cur ) avfilter_unref_buffer(yadif->cur );
-    if (yadif->next) avfilter_unref_buffer(yadif->next);
+    if (yadif->prev) avfilter_unref_bufferp(&yadif->prev);
+    if (yadif->cur ) avfilter_unref_bufferp(&yadif->cur );
+    if (yadif->next) avfilter_unref_bufferp(&yadif->next);
 }
 
 static int query_formats(AVFilterContext *ctx)
diff --git a/libavfilter/vsrc_movie.c b/libavfilter/vsrc_movie.c
index 1fb0495..b0f191f 100644
--- a/libavfilter/vsrc_movie.c
+++ b/libavfilter/vsrc_movie.c
@@ -299,8 +299,7 @@ static int request_frame(AVFilterLink *outlink)
 
     ret = ff_end_frame(outlink);
 fail:
-    avfilter_unref_buffer(movie->picref);
-    movie->picref = NULL;
+    avfilter_unref_bufferp(&movie->picref);
 
     return ret;
 }



More information about the ffmpeg-cvslog mailing list