Timecode definitions.
More...
|
GAVL_PUBLIC void | gavl_timecode_format_copy (gavl_timecode_format_t *dst, const gavl_timecode_format_t *src) |
| Copy one timecode format to another. More...
|
|
GAVL_PUBLIC void | gavl_timecode_to_hmsf (gavl_timecode_t tc, int *hours, int *minutes, int *seconds, int *frames) |
| Extract the time part of the timecode. More...
|
|
GAVL_PUBLIC void | gavl_timecode_to_ymd (gavl_timecode_t tc, int *year, int *month, int *day) |
| Extract the date part of the timecode. More...
|
|
GAVL_PUBLIC void | gavl_timecode_from_hmsf (gavl_timecode_t *tc, int hours, int minutes, int seconds, int frames) |
| Set the time part of the timecode. More...
|
|
GAVL_PUBLIC void | gavl_timecode_from_ymd (gavl_timecode_t *tc, int year, int month, int day) |
| Set the date part of the timecode. More...
|
|
GAVL_PUBLIC int64_t | gavl_timecode_to_framecount (const gavl_timecode_format_t *tf, gavl_timecode_t tc) |
| Get the frame count from the timecode. More...
|
|
GAVL_PUBLIC gavl_timecode_t | gavl_timecode_from_framecount (const gavl_timecode_format_t *tf, int64_t fc) |
| Get a timecode from the frame count. More...
|
|
GAVL_PUBLIC void | gavl_timecode_dump (const gavl_timecode_format_t *tf, gavl_timecode_t tc) |
| Dump a timecode to stderr. More...
|
|
GAVL_PUBLIC void | gavl_timecode_prettyprint (const gavl_timecode_format_t *tf, gavl_timecode_t tc, char str[GAVL_TIMECODE_STRING_LEN]) |
| Print a full timecode into a string. More...
|
|
GAVL_PUBLIC void | gavl_timecode_prettyprint_short (gavl_timecode_t tc, char str[GAVL_TIMECODE_STRING_LEN_SHORT]) |
| Print a short timecode into a string. More...
|
|
Timecode definitions.
Timecodes are usually associated with video frames and represent a unique time (e.g. Wall clock time) within the whole footage.
Since 1.1.0
◆ GAVL_TIMECODE_SIGN_MASK
#define GAVL_TIMECODE_SIGN_MASK (0x1LL<<62) |
If 1, timecode is negative.
◆ GAVL_TIMECODE_INVALID_MASK
#define GAVL_TIMECODE_INVALID_MASK (0x1LL<<63) |
If 1, timecode is invalid.
◆ GAVL_TIMECODE_DROP_FRAME
#define GAVL_TIMECODE_DROP_FRAME (1<<0) |
◆ GAVL_TIMECODE_UNDEFINED
◆ GAVL_TIMECODE_STRING_LEN
#define GAVL_TIMECODE_STRING_LEN 26 |
Length for a string into which a timecode will be printed
◆ GAVL_TIMECODE_STRING_LEN_SHORT
#define GAVL_TIMECODE_STRING_LEN_SHORT 13 |
Length for a string into which a short timecode will be printed
◆ gavl_timecode_t
◆ gavl_timecode_format_copy()
Copy one timecode format to another.
- Parameters
-
dst | Destination format |
src | Source format |
◆ gavl_timecode_to_hmsf()
GAVL_PUBLIC void gavl_timecode_to_hmsf |
( |
gavl_timecode_t |
tc, |
|
|
int * |
hours, |
|
|
int * |
minutes, |
|
|
int * |
seconds, |
|
|
int * |
frames |
|
) |
| |
Extract the time part of the timecode.
- Parameters
-
tc | A timecode |
hours | If non NULL, returns the hours |
minutes | If non NULL, returns the minutes |
seconds | If non NULL, returns the seconds |
frames | If non NULL, returns the frames |
◆ gavl_timecode_to_ymd()
GAVL_PUBLIC void gavl_timecode_to_ymd |
( |
gavl_timecode_t |
tc, |
|
|
int * |
year, |
|
|
int * |
month, |
|
|
int * |
day |
|
) |
| |
Extract the date part of the timecode.
- Parameters
-
tc | A timecode |
year | If non NULL, returns the year |
month | If non NULL, returns the month |
day | If non NULL, returns the day |
◆ gavl_timecode_from_hmsf()
GAVL_PUBLIC void gavl_timecode_from_hmsf |
( |
gavl_timecode_t * |
tc, |
|
|
int |
hours, |
|
|
int |
minutes, |
|
|
int |
seconds, |
|
|
int |
frames |
|
) |
| |
Set the time part of the timecode.
- Parameters
-
tc | A timecode |
hours | The hours |
minutes | The minutes |
seconds | The seconds |
frames | The frames |
◆ gavl_timecode_from_ymd()
GAVL_PUBLIC void gavl_timecode_from_ymd |
( |
gavl_timecode_t * |
tc, |
|
|
int |
year, |
|
|
int |
month, |
|
|
int |
day |
|
) |
| |
Set the date part of the timecode.
- Parameters
-
tc | A timecode |
year | The year |
month | The month |
day | The day |
◆ gavl_timecode_to_framecount()
Get the frame count from the timecode.
- Parameters
-
tf | The timecode format |
tc | A timecode |
- Returns
- The frame count
If the time is larger than 24 hours, the framecount is calculated from 00:00:00, January 1, 1970
◆ gavl_timecode_from_framecount()
Get a timecode from the frame count.
- Parameters
-
tf | The timecode format |
fc | The frame count |
- Returns
- The timecode corresponding to the framecount
If the date fields are non-zero, the framecount is calculated from 00:00:00, January 1, 1970
◆ gavl_timecode_dump()
Dump a timecode to stderr.
- Parameters
-
tf | The timecode format |
tc | A timecode |
This is used mainly for debugging
◆ gavl_timecode_prettyprint()
Print a full timecode into a string.
- Parameters
-
tf | The timecode format |
tc | A timecode |
str | String where the timecode will be printed |
This prints the full timecode (including calendar date if available). For real-life applications, you might want to try gavl_timecode_prettyprint_short instead.
◆ gavl_timecode_prettyprint_short()
GAVL_PUBLIC void gavl_timecode_prettyprint_short |
( |
gavl_timecode_t |
tc, |
|
|
char |
str[GAVL_TIMECODE_STRING_LEN_SHORT] |
|
) |
| |
Print a short timecode into a string.
- Parameters
-
tc | A timecode |
str | String where the timecode will be printed |
Since 1.1.1