[FFmpeg-cvslog] avconv: remove OutputStream.picref.

Anton Khirnov git at videolan.org
Mon Apr 9 23:20:53 CEST 2012


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Thu Mar 29 09:02:01 2012 +0200| [b6c4518a87fa7c91d00cf4e1acf9230f308b8f14] | committer: Anton Khirnov

avconv: remove OutputStream.picref.

It's only used inside transcode_video() and there's no point in
preserving it between subsequent calls. So use a local variable instead.

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

 avconv.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/avconv.c b/avconv.c
index 7fefec4..cfd0d78 100644
--- a/avconv.c
+++ b/avconv.c
@@ -243,7 +243,6 @@ typedef struct OutputStream {
 
     AVFilterContext *output_video_filter;
     AVFilterContext *input_video_filter;
-    AVFilterBufferRef *picref;
     char *avfilter;
     AVFilterGraph *graph;
 
@@ -1971,21 +1970,22 @@ static int transcode_video(InputStream *ist, AVPacket *pkt, int *got_output, int
 
         frame_available = avfilter_poll_frame(ost->output_video_filter->inputs[0]);
         while (frame_available) {
+            AVFilterBufferRef *picref;
             AVRational ist_pts_tb;
             if ((ret = get_filtered_video_frame(ost->output_video_filter,
-                                                filtered_frame, &ost->picref,
+                                                filtered_frame, &picref,
                                                 &ist_pts_tb)) < 0)
                 goto fail;
-            filtered_frame->pts = av_rescale_q(ost->picref->pts, ist_pts_tb, AV_TIME_BASE_Q);
+            filtered_frame->pts = av_rescale_q(picref->pts, ist_pts_tb, AV_TIME_BASE_Q);
             if (!ost->frame_aspect_ratio)
-                ost->st->codec->sample_aspect_ratio = ost->picref->video->pixel_aspect;
+                ost->st->codec->sample_aspect_ratio = picref->video->pixel_aspect;
 
             do_video_out(output_files[ost->file_index].ctx, ost, filtered_frame, &frame_size,
                          same_quant ? quality : ost->st->codec->global_quality);
             if (vstats_filename && frame_size)
                 do_video_stats(output_files[ost->file_index].ctx, ost, frame_size);
             frame_available = ost->output_video_filter && avfilter_poll_frame(ost->output_video_filter->inputs[0]);
-            avfilter_unref_buffer(ost->picref);
+            avfilter_unref_buffer(picref);
         }
     }
 



More information about the ffmpeg-cvslog mailing list