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

Jorge Fonseca jcbfonseca at gmail.com
Thu Aug 16 21:26:33 CEST 2012


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));

        avpicture_fill((AVPicture *) pFrameRaw, buffer, PIX_FMT_BGR24,
**FRAME_WIDTH,
FRAME_HEIGHT**);
**
        pFrameRaw->data[0] = raw_data_array;
**        pFrameRaw->linesize[0] = FRAME_SIZE;
*
---------------------------


Regards,
Jorge.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20120816/20e4afba/attachment.html>


More information about the Libav-user mailing list