Hi! Glad to be part of this mailing list.
What I wanted to create, was a program which would receive a streaming video, and when it decodes a frame of the video into either a bitmap format or just pure RGB (perhaps stored in a char array), it would notify another program that it has received a frame, and the other program would take the RGB values and display it. I've already asked this question here: http://ffmpeg.zeranoe.com/forum/viewtopic.php?f=15&t=805
and rogerdpack told me to post my question on the libav mailing list.
I have been through many websites, but they either use img_convert (which doesn't work) or sws_scale, which crashes when I try to use it with RGB. Could anyone help with a complete piece of code which can give me the RGB values of a frame?

This is a part of the YUV conversion that I tried initially.

  i=0;
  while(av_read_frame(pFormatCtx, &packet) >= 0)
  {
    // Is this a packet from the video stream?
    if(packet.stream_index==videoStream)
    {
    // Decode video frame
    avcodec_decode_video2(pCodecCtx, pFrame, &frameFinished, &packet);

    // Did we get a video frame?
    if(frameFinished)
    {
        // Convert the image into YUV format that SDL uses
sws_scale( sws_ctx, (uint8_t const * const *)pFrame->data, pFrame->linesize, 0, pCodecCtx->height, pict.data, pict.linesize );


--
Nav

_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to