| 34 | #include "error.h" |
| 35 | |
| 36 | int av_timecode_adjust_ntsc_framenum2(int framenum, int fps) |
| 37 | { |
| 38 | /* only works for multiples of NTSC 29.97 */ |
| 39 | int drop_frames = 0; |
| 40 | int d, m, frames_per_10mins; |
| 41 | |
| 42 | if (fps && fps % 30 == 0) { |
| 43 | drop_frames = fps / 30 * 2; |
| 44 | frames_per_10mins = fps / 30 * 17982; |
| 45 | } else |
| 46 | return framenum; |
| 47 | |
| 48 | d = framenum / frames_per_10mins; |
| 49 | m = framenum % frames_per_10mins; |
| 50 | |
| 51 | return framenum + 9U * drop_frames * d + drop_frames * ((m - drop_frames) / (frames_per_10mins / 10)); |
| 52 | } |
| 53 | |
| 54 | uint32_t av_timecode_get_smpte_from_framenum(const AVTimecode *tc, int framenum) |
| 55 | { |
no outgoing calls
no test coverage detected