MCPcopy Create free account
hub / github.com/FFmpeg/FFmpeg / av_timecode_make_string

Function av_timecode_make_string

libavutil/timecode.c:104–129  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

102}
103
104char *av_timecode_make_string(const AVTimecode *tc, char *buf, int framenum_arg)
105{
106 unsigned fps = tc->fps;
107 int drop = tc->flags & AV_TIMECODE_FLAG_DROPFRAME;
108 int hh, mm, ss, ff, ff_len, neg = 0;
109 int64_t framenum = framenum_arg;
110
111 framenum += tc->start;
112 if (drop)
113 framenum = av_timecode_adjust_ntsc_framenum2(framenum, fps);
114 if (framenum < 0) {
115 framenum = -framenum;
116 neg = tc->flags & AV_TIMECODE_FLAG_ALLOWNEGATIVE;
117 }
118 ff = framenum % fps;
119 ss = framenum / fps % 60;
120 mm = framenum / (fps*60LL) % 60;
121 hh = framenum / (fps*3600LL);
122 if (tc->flags & AV_TIMECODE_FLAG_24HOURSMAX)
123 hh = hh % 24;
124 ff_len = fps > 10000 ? 5 : fps > 1000 ? 4 : fps > 100 ? 3 : fps > 10 ? 2 : 1;
125 snprintf(buf, AV_TIMECODE_STR_SIZE, "%s%02d:%02d:%02d%c%0*d",
126 neg ? "-" : "",
127 hh, mm, ss, drop ? ';' : ':', ff_len, ff);
128 return buf;
129}
130
131char *av_timecode_make_smpte_tc_string2(char *buf, AVRational rate, uint32_t tcsmpte, int prevent_df, int skip_field)
132{

Callers 8

mcc_write_packetFunction · 0.85
segment_endFunction · 0.85
imf_read_headerFunction · 0.85
test_cpl_parsingFunction · 0.85
draw_textFunction · 0.85

Calls 1

Tested by 1

test_cpl_parsingFunction · 0.68