OSDN Git Service

lavfi: use avfilter_unref_bufferp() where appropriate.
authorAnton Khirnov <anton@khirnov.net>
Sun, 15 Jul 2012 08:12:51 +0000 (10:12 +0200)
committerAnton Khirnov <anton@khirnov.net>
Sun, 22 Jul 2012 07:14:05 +0000 (09:14 +0200)
avplay.c
libavfilter/af_join.c
libavfilter/fifo.c
libavfilter/vf_overlay.c
libavfilter/vf_yadif.c
libavfilter/vsrc_movie.c

index a42a0b4..ee069b5 100644 (file)
--- 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
 
index 9ed11a9..f25ec92 100644 (file)
@@ -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);
index 66de62c..8264d53 100644 (file)
@@ -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)
index a0c423d..951ea7a 100644 (file)
@@ -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)
index 9ac11bf..1025ba1 100644 (file)
@@ -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)
index 1fb0495..b0f191f 100644 (file)
@@ -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;
 }