Timecodes

Timecode definitions. More...


Data Structures

struct  gavl_timecode_format_t
 Timecode format. More...

Defines

#define GAVL_TIMECODE_SIGN_MASK   (0x1LL<<62)
 If 1, timecode is negative.
#define GAVL_TIMECODE_INVALID_MASK   (0x1LL<<63)
 If 1, timecode is invalid.
#define GAVL_TIMECODE_DROP_FRAME   (1<<0)
 NTSC drop frame is used.
#define GAVL_TIMECODE_UNDEFINED   GAVL_TIMECODE_INVALID_MASK
#define GAVL_TIMECODE_STRING_LEN   26

Typedefs

typedef uint64_t gavl_timecode_t
 Typedef for timecodes.

Functions

void gavl_timecode_to_hmsf (gavl_timecode_t tc, int *hours, int *minutes, int *seconds, int *frames)
 Extract the time part of the timecode.
void gavl_timecode_to_ymd (gavl_timecode_t tc, int *year, int *month, int *day)
 Extract the date part of the timecode.
void gavl_timecode_from_hmsf (gavl_timecode_t *tc, int hours, int minutes, int seconds, int frames)
 Set the time part of the timecode.
void gavl_timecode_from_ymd (gavl_timecode_t *tc, int year, int month, int day)
 Set the date part of the timecode.
int64_t gavl_timecode_to_framecount (const gavl_timecode_format_t *tf, gavl_timecode_t tc)
 Get the frame count from the timecode.
gavl_timecode_t gavl_timecode_from_framecount (const gavl_timecode_format_t *tf, int64_t fc)
 Get a timecode from the frame count.
void gavl_timecode_dump (const gavl_timecode_format_t *tf, gavl_timecode_t tc)
 Dump a timecode to stderr.
void gavl_timecode_prettyprint (const gavl_timecode_format_t *tf, gavl_timecode_t tc, char str[GAVL_TIMECODE_STRING_LEN])

Variables

int gavl_timecode_format_t::flags
 Zero or more of the flags defined above.


Detailed Description

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


Define Documentation

#define GAVL_TIMECODE_SIGN_MASK   (0x1LL<<62)

If 1, timecode is negative.

#define GAVL_TIMECODE_INVALID_MASK   (0x1LL<<63)

If 1, timecode is invalid.

#define GAVL_TIMECODE_DROP_FRAME   (1<<0)

NTSC drop frame is used.

#define GAVL_TIMECODE_STRING_LEN   26

Length for a string into which a timecode will be printed


Typedef Documentation

typedef uint64_t gavl_timecode_t

Typedef for timecodes.


Function Documentation

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

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

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

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

int64_t gavl_timecode_to_framecount ( const gavl_timecode_format_t tf,
gavl_timecode_t  tc 
)

Get the frame count from the timecode.

Parameters:
tf The timecode format
vf The video 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_t gavl_timecode_from_framecount ( const gavl_timecode_format_t tf,
int64_t  fc 
)

Get a timecode from the frame count.

Parameters:
tf The timecode format
vf The video 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

void gavl_timecode_dump ( const gavl_timecode_format_t tf,
gavl_timecode_t  tc 
)

Dump a timecode to stderr.

Parameters:
tf The timecode format
tc A timecode
This is used mainly for debugging


Variable Documentation

Zero or more of the flags defined above.


Generated on Thu Apr 9 21:02:06 2009 for gavl by  doxygen 1.5.7.1