This ANSI-compliant C program receives a timecode postition and an fps (frames per second) value. It outputs the frame number that exists at the timecode position for the given fps.
I've been using this program for analog video production that needs to be synchronized with an audio file. 'So, for example, let's suppose that I will want a keyframe at exactly 1 min and 30 seconds into the audio. If I know that I'll be showing the animation at 15fps, then I can use this program to find out that the keyframe will be frame #1350. Timecode.c is accurate to the millisecond.
For posix based systems using gcc, use the following command for compiling timecode.c,
$ gcc -g -Wall -ansi -lm -pedantic -otimecode timecode.c