Hello. I'm having some trouble understanding some of the different values that AVFrame.repeat_pict can have and how to handle them.
First, I see in the documentation that the you use repeat_pict to calculate the "extra delay" for that particular frame, i.e., display this frame for its normal frame duration plus N more seconds. N would be the number calculated as the extra_delay as mentioned in the documentation: extra_delay = repeat_pict / (2 * fps) I've seen this work out well for a number of clips that had some pulldown associated with them, like HDV 720p60. These types of clips usually say repeat the frame 1 or 2 more times, like a 2:3 pulldown. With the clips that works well, repeat_pict usually takes on values of 0, 2, or 4. The value of repeat_pict that I don't understand is when it's 1. I have an MPEG-2 encoded clip that ffmpeg reports as 59.94 fps that actually appears to have been encoded as if it's 23.97 fps content. Other applications actually report that the frame rate should be 29.97 fps. Anyway, the value of repeat_pict comes back alternating between 0 and 1 along with top_field_first alternating between 0 and 1. According to the above formula, the extra_delay would be about half a frame's worth, essentially repeating the first field. In terms of how ffmpeg's decoders returns full frames worth at a time, how the should these kinds of scenarios be handled in general? Any advice would be greatly appreciated. Thank you! -- Brian Brice http://heapify.org/ _______________________________________________ libav-user mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/libav-user
