[Libav-user] AVFrame necessary fields to create correctly raw Frame

Michael Bradshaw mbradshaw at sorensonmedia.com
Thu Aug 16 21:40:54 CEST 2012


On Thu, Aug 16, 2012 at 1:26 PM, Jorge Fonseca <jcbfonseca at gmail.com> wrote:
> Hi All,
>
> I have a C program using FFmpeg API that:
>  - load bmp files and create a video file.
>
> Its works correctly.
>
> -------------
>
> Now, i need to create the same video from a RAW data (char array).
> I allocating a frame, and try to set AVFrame directly...
>
> Question:
>
>  - Which fields a need to fill?
>
>    My current code is:
>
>         pFrameRaw = avcodec_alloc_frame();
>         if (!pFrameRaw) {
>             printf("Can't allocate memory for AVFrame\n");
>             return NULL ;
>         }
>
>
>         // Determine required buffer size and allocate buffer
>         int numBytes = avpicture_get_size(PIX_FMT_BGR24,FRAME_WIDTH,
> FRAME_HEIGHT);
>         uint8_t *buffer = (uint8_t *) av_malloc(numBytes * sizeof(uint8_t));

Not sure if I understand the question, but this can be simplified if
you use avpicture_alloc().

--Michael


More information about the Libav-user mailing list