First of all, thanks to Max and Salsaman for the responses. I truly appreciate it.
>As long as I remember I solved a similar problem after providing the last >frame of the sequence by calling avcodec_encode_video2 with frame parameter >being NULL in a loop while got_packet returns true. Max, I am passing a NULL frame after calling calling avcodec_encode_video2 for all my 36 frames. But I only pass the NULL frame once, when I’m done, to make sure everything that has not been flushed is actually flushed. >Also, just a guess but 18 is half of 36. Is it possible you need to set some >interlacing option ? Salsaman, I have to admit my knowledge of this is very limited. But this is what I know: 1) I am sending down 36 non-trivial frames, plus one NULL frame, for a total of 37 frames. 2) After sending down the first 18 frames by calling avcodec_encode_video2 the value of got_packet is 0 for all of them. 3) When sending frames 19-36, the value of got_packet is 1. 4) When displaying my video, the only images I see are the first 18. I know this for a fact because the images are very similar, but each has a label with a time stamp 0, 10, 20, etc. So I know which ones are missing. Interestingly enough, the missing ones are the ones for which got_packet=1 (!). If the issue is “interlacing”, can somebody suggest what I need to do in my code to try to correct this? Thanks. -Arthur
_______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
