]> git.sesse.net Git - ffmpeg/blobdiff - libavutil/timecode.c
avutil/timecode: do not trash bits on invalid av_timecode_get_smpte arguments
[ffmpeg] / libavutil / timecode.c
index c0956adadb74d3f61bf4fa9791cbd10788d6967b..806638ddfcefaf39ba6828f82c743c405851430b 100644 (file)
@@ -84,6 +84,11 @@ uint32_t av_timecode_get_smpte(AVRational rate, int drop, int hh, int mm, int ss
         ff /= 2;
     }
 
+    hh = hh % 24;
+    mm = av_clip(mm, 0, 59);
+    ss = av_clip(ss, 0, 59);
+    ff = ff % 40;
+
     tc |= drop << 30;
     tc |= (ff / 10) << 28;
     tc |= (ff % 10) << 24;