diff options
author | Clément Bœsch <ubitux@gmail.com> | 2011-12-26 11:06:00 +0100 |
---|---|---|
committer | Clément Bœsch <ubitux@gmail.com> | 2011-12-26 11:13:25 +0100 |
commit | 831f6cd6059222aaa68eeab52fd63b4555dc38b8 (patch) | |
tree | d79925ff98c492b84a27be907509d186c4ef6d8b | |
parent | 357cb53306a7bc7fcb0d3fa870cabd1d63abbe75 (diff) | |
download | ffmpeg-831f6cd6059222aaa68eeab52fd63b4555dc38b8.tar.gz |
timecode: fix drop frame in avpriv_timecode_to_string().
-rw-r--r-- | libavcodec/timecode.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/libavcodec/timecode.c b/libavcodec/timecode.c index fd996edfad..2f7bd64e39 100644 --- a/libavcodec/timecode.c +++ b/libavcodec/timecode.c @@ -83,13 +83,14 @@ char *avpriv_timecode_to_string(char *buf, const struct ff_timecode *tc, unsigne { int frame_num = tc->start + frame; int fps = (tc->rate.num + tc->rate.den/2) / tc->rate.den; - int ff = frame_num % fps; - int ss = frame_num / fps % 60; - int mm = frame_num / (fps*60) % 60; - int hh = frame_num / (fps*3600) % 24; + int hh, mm, ss, ff; if (tc->drop) frame_num = avpriv_framenum_to_drop_timecode(frame_num); + ff = frame_num % fps; + ss = frame_num / fps % 60; + mm = frame_num / (fps*60) % 60; + hh = frame_num / (fps*3600) % 24; snprintf(buf, sizeof("hh:mm:ss.ff"), "%02d:%02d:%02d%c%02d", hh, mm, ss, tc->drop ? ';' : ':', ff); return buf; |