[FFmpeg-devel] [PATCH] examples/muxing.c: use av_image_alloc() for allocating an image buffer

Michael Niedermayer michaelni at gmx.at
Sat Jul 9 09:16:42 CEST 2011


On Fri, Jul 08, 2011 at 10:12:27AM +0200, Stefano Sabatini wrote:
> Simplify.
> ---
>  doc/examples/encoding.c |   15 ++++-----------
>  1 files changed, 4 insertions(+), 11 deletions(-)
> 
> diff --git a/doc/examples/encoding.c b/doc/examples/encoding.c
> index afe7e4f..ffb6246 100644
> --- a/doc/examples/encoding.c
> +++ b/doc/examples/encoding.c
> @@ -205,7 +205,7 @@ static void video_encode_example(const char *filename)
>      int i, out_size, size, x, y, outbuf_size;
>      FILE *f;
>      AVFrame *picture;
> -    uint8_t *outbuf, *picture_buf;
> +    uint8_t *outbuf;
>  
>      printf("Video encoding\n");
>  
> @@ -245,15 +245,8 @@ static void video_encode_example(const char *filename)
>      /* alloc image and output buffer */
>      outbuf_size = 100000;
>      outbuf = malloc(outbuf_size);
> -    size = c->width * c->height;
> -    picture_buf = malloc((size * 3) / 2); /* size for YUV 420 */
> -
> -    picture->data[0] = picture_buf;
> -    picture->data[1] = picture->data[0] + size;
> -    picture->data[2] = picture->data[1] + size / 4;
> -    picture->linesize[0] = c->width;
> -    picture->linesize[1] = c->width / 2;
> -    picture->linesize[2] = c->width / 2;
> +    av_image_alloc(picture->data, picture->linesize,
> +                   c->width, c->height, c->pix_fmt, 1);

I suggest, as this is an example to also write (in a comment)
that the image can be allocated by any means and av_image_alloc() is
just the most convenient way if av_malloc is to be used

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

If a bugfix only changes things apparently unrelated to the bug with no
further explanation, that is a good sign that the bugfix is wrong.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20110709/7dba0a39/attachment.asc>


More information about the ffmpeg-devel mailing list