I can only decode every other frame using mpeg2. I have tried setting 
the max_b_frames to 0 and -1 on the encoder but has_b_frames is set to 
1 in both cases.

Here is my decode algo:


//I call this function for every incoming encoded data frame.
void video_decode(uint8_t* data)
{
  uint8_t *inbuf_ptr = data;

  while (size > 0)  {
     len = avcodec_decode_video(c, frame, &got_picture, inbuf_ptr, size);

     if (len < 0)     {                          exit(1);
     }

     if (got_picture)
     {                                     ///Display
     }
     size -= len;
     inbuf_ptr += len;
  }
}
//mpeg, transmit the I and P frame with a latency of one frame. You 
must do the
//following to have a change to get the last frame of the video
//len = avcodec_decode_video(c, frame, &got_picture, NULL, 0);
//I am ignoring the last frame.


----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.

_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user

Reply via email to