diff --git a/libavutil/timecode.c b/libavutil/timecode.c index cb916970ef..c0956adadb 100644 --- a/libavutil/timecode.c +++ b/libavutil/timecode.c @@ -71,31 +71,28 @@ uint32_t av_timecode_get_smpte_from_framenum(const AVTimecode *tc, int framenum) uint32_t av_timecode_get_smpte(AVRational rate, int drop, int hh, int mm, int ss, int ff) { uint32_t tc = 0; - uint32_t frames; /* For SMPTE 12-M timecodes, frame count is a special case if > 30 FPS. See SMPTE ST 12-1:2014 Sec 12.1 for more info. */ if (av_cmp_q(rate, (AVRational) {30, 1}) == 1) { - frames = ff / 2; if (ff % 2 == 1) { if (av_cmp_q(rate, (AVRational) {50, 1}) == 0) tc |= (1 << 7); else tc |= (1 << 23); } - } else { - frames = ff; + ff /= 2; } tc |= drop << 30; - tc |= (frames / 10) << 28; - tc |= (frames % 10) << 24; + tc |= (ff / 10) << 28; + tc |= (ff % 10) << 24; tc |= (ss / 10) << 20; tc |= (ss % 10) << 16; tc |= (mm / 10) << 12; tc |= (mm % 10) << 8; tc |= (hh / 10) << 4; - tc |= (hh % 10); + tc |= (hh % 10); return tc; }