[FFmpeg-cvslog] Use avcodec_free_frame() to free AVFrames.
Anton Khirnov
git at videolan.org
Tue Sep 25 15:19:14 CEST 2012
ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Fri Sep 21 09:10:23 2012 +0200| [11d1ca4b2c406bee2d22b04268a43b0873096c92] | committer: Anton Khirnov
Use avcodec_free_frame() to free AVFrames.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=11d1ca4b2c406bee2d22b04268a43b0873096c92
---
avconv.c | 4 ++--
avplay.c | 4 ++--
libavcodec/api-example.c | 8 ++++----
libavfilter/vsrc_movie.c | 2 +-
libavformat/output-example.c | 1 +
5 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/avconv.c b/avconv.c
index df09b21..0b703ed 100644
--- a/avconv.c
+++ b/avconv.c
@@ -180,11 +180,11 @@ void exit_program(int ret)
bsfc = next;
}
output_streams[i]->bitstream_filters = NULL;
+ avcodec_free_frame(&output_streams[i]->filtered_frame);
av_freep(&output_streams[i]->forced_keyframes);
av_freep(&output_streams[i]->avfilter);
av_freep(&output_streams[i]->logfile_prefix);
- av_freep(&output_streams[i]->filtered_frame);
av_freep(&output_streams[i]);
}
for (i = 0; i < nb_input_files; i++) {
@@ -192,7 +192,7 @@ void exit_program(int ret)
av_freep(&input_files[i]);
}
for (i = 0; i < nb_input_streams; i++) {
- av_freep(&input_streams[i]->decoded_frame);
+ avcodec_free_frame(&input_streams[i]->decoded_frame);
av_dict_free(&input_streams[i]->opts);
free_buffer_pool(&input_streams[i]->buffer_pool);
av_freep(&input_streams[i]->filters);
diff --git a/avplay.c b/avplay.c
index a0b0e5b..d47cf94 100644
--- a/avplay.c
+++ b/avplay.c
@@ -1704,7 +1704,7 @@ static int video_thread(void *arg)
avfilter_graph_free(&graph);
#endif
av_free_packet(&pkt);
- av_free(frame);
+ avcodec_free_frame(&frame);
return 0;
}
@@ -2191,7 +2191,7 @@ static void stream_component_close(VideoState *is, int stream_index)
avresample_free(&is->avr);
av_freep(&is->audio_buf1);
is->audio_buf = NULL;
- av_freep(&is->frame);
+ avcodec_free_frame(&is->frame);
if (is->rdft) {
av_rdft_end(is->rdft);
diff --git a/libavcodec/api-example.c b/libavcodec/api-example.c
index d025354..6275080 100644
--- a/libavcodec/api-example.c
+++ b/libavcodec/api-example.c
@@ -212,7 +212,7 @@ static void audio_encode_example(const char *filename)
fclose(f);
av_freep(&samples);
- av_freep(&frame);
+ avcodec_free_frame(&frame);
avcodec_close(c);
av_free(c);
}
@@ -308,7 +308,7 @@ static void audio_decode_example(const char *outfilename, const char *filename)
avcodec_close(c);
av_free(c);
- av_free(decoded_frame);
+ avcodec_free_frame(&decoded_frame);
}
/*
@@ -432,7 +432,7 @@ static void video_encode_example(const char *filename)
avcodec_close(c);
av_free(c);
av_freep(&picture->data[0]);
- av_free(picture);
+ avcodec_free_frame(&picture);
printf("\n");
}
@@ -568,7 +568,7 @@ static void video_decode_example(const char *outfilename, const char *filename)
avcodec_close(c);
av_free(c);
- av_free(picture);
+ avcodec_free_frame(&picture);
printf("\n");
}
diff --git a/libavfilter/vsrc_movie.c b/libavfilter/vsrc_movie.c
index aeab102..78e1642 100644
--- a/libavfilter/vsrc_movie.c
+++ b/libavfilter/vsrc_movie.c
@@ -197,7 +197,7 @@ static av_cold void uninit(AVFilterContext *ctx)
if (movie->format_ctx)
avformat_close_input(&movie->format_ctx);
avfilter_unref_buffer(movie->picref);
- av_freep(&movie->frame);
+ avcodec_free_frame(&movie->frame);
}
static int query_formats(AVFilterContext *ctx)
diff --git a/libavformat/output-example.c b/libavformat/output-example.c
index 27950a1..1011c2c 100644
--- a/libavformat/output-example.c
+++ b/libavformat/output-example.c
@@ -165,6 +165,7 @@ static void write_audio_frame(AVFormatContext *oc, AVStream *st)
fprintf(stderr, "Error while writing audio frame\n");
exit(1);
}
+ avcodec_free_frame(&frame);
}
static void close_audio(AVFormatContext *oc, AVStream *st)
More information about the ffmpeg-cvslog
mailing list