[FFmpeg-devel] [PATCH] examples/muxing: simplify alloc_picture()

Stefano Sabatini stefasab at gmail.com
Fri Aug 3 18:04:26 CEST 2012


Use avpicture_alloc() high level function.
---
 doc/examples/muxing.c |   18 +++---------------
 1 files changed, 3 insertions(+), 15 deletions(-)

diff --git a/doc/examples/muxing.c b/doc/examples/muxing.c
index a24c447..ca5e107 100644
--- a/doc/examples/muxing.c
+++ b/doc/examples/muxing.c
@@ -245,21 +245,9 @@ static AVStream *add_video_stream(AVFormatContext *oc, enum CodecID codec_id)
 
 static AVFrame *alloc_picture(enum PixelFormat pix_fmt, int width, int height)
 {
-    AVFrame *picture;
-    uint8_t *picture_buf;
-    int size;
-
-    picture = avcodec_alloc_frame();
-    if (!picture)
-        return NULL;
-    size        = avpicture_get_size(pix_fmt, width, height);
-    picture_buf = av_malloc(size);
-    if (!picture_buf) {
-        av_free(picture);
-        return NULL;
-    }
-    avpicture_fill((AVPicture *)picture, picture_buf,
-                   pix_fmt, width, height);
+    AVFrame *picture = avcodec_alloc_frame();
+    if (!picture || avpicture_alloc((AVPicture *)picture, pix_fmt, width, height) < 0)
+        av_freep(&picture);
     return picture;
 }
 
-- 
1.7.5.4



More information about the ffmpeg-devel mailing list