I'm encoding a video but I need to find which buffer size I should
allocate for the video.. I found a code but 100000 isn't enough for
some videos with large size. HOw can I find the optimum size?

And I couldn't understand how I can allocate a buffer size for a
video? Which preferences of a video or frame should I be interested
for that purpose ?

Thanks

Here is my code;

static void open_video(AVFormatContext *oc, AVStream *st)
{
    AVCodec *codec;
    AVCodecContext *c;

    c = st->codec;

    /* find the video encoder */
    codec = avcodec_find_encoder(c->codec_id);
    if (!codec) {
        fprintf(stderr, "codec not found\n");
        exit(1);
    }

    /* open the codec */
    if (avcodec_open(c, codec) < 0) {
        fprintf(stderr, "could not open codec\n");
        exit(1);
    }

    video_outbuf = NULL;
    if (!(oc->oformat->flags & AVFMT_RAWPICTURE)) {
        /* allocate output buffer */
        /* XXX: API change will be done */
        /* buffers passed into lav* can be allocated any way you
prefer,
           as long as they're aligned enough for the architecture, and
           they're freed appropriately (such as using av_free for
buffers
           allocated with av_malloc) */
        video_outbuf_size =100000;

        video_outbuf = av_malloc(video_outbuf_size);
    }
    /* allocate the encoded raw picture */
    picture = alloc_picture(c->pix_fmt, c->width, c->height);
    if (!picture) {
        fprintf(stderr, "Could not allocate picture\n");
        exit(1);
    }
}

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to