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

Stefano Sabatini git at videolan.org
Sun Aug 5 00:40:09 CEST 2012


ffmpeg | branch: master | Stefano Sabatini <stefasab at gmail.com> | Fri Aug  3 17:51:00 2012 +0200| [66747a61600e9c2dd2472f22a46a1938530fdada] | committer: Stefano Sabatini

examples/muxing: simplify alloc_picture()

Use avpicture_alloc() high level function.

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

 doc/examples/muxing.c |   18 +++---------------
 1 file 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;
 }
 



More information about the ffmpeg-cvslog mailing list