Timecode helpers header.
More...
#include <stdint.h>
#include "rational.h"
Go to the source code of this file.
|
int | av_timecode_adjust_ntsc_framenum2 (int framenum, int fps) |
| Adjust frame number for NTSC drop frame time code. More...
|
|
uint32_t | av_timecode_get_smpte_from_framenum (const AVTimecode *tc, int framenum) |
| Convert frame number to SMPTE 12M binary representation. More...
|
|
char * | av_timecode_make_string (const AVTimecode *tc, char *buf, int framenum) |
| Load timecode string in buf. More...
|
|
char * | av_timecode_make_smpte_tc_string (char *buf, uint32_t tcsmpte, int prevent_df) |
| Get the timecode string from the SMPTE timecode format. More...
|
|
char * | av_timecode_make_mpeg_tc_string (char *buf, uint32_t tc25bit) |
| Get the timecode string from the 25-bit timecode format (MPEG GOP format). More...
|
|
int | av_timecode_init (AVTimecode *tc, AVRational rate, int flags, int frame_start, void *log_ctx) |
| Init a timecode struct with the passed parameters. More...
|
|
int | av_timecode_init_from_string (AVTimecode *tc, AVRational rate, const char *str, void *log_ctx) |
| Parse timecode representation (hh:mm:ss[:;. More...
|
|
int | av_timecode_check_frame_rate (AVRational rate) |
| Check if the timecode feature is available for the given frame rate. More...
|
|
Timecode helpers header.
Definition in file timecode.h.
◆ AV_TIMECODE_STR_SIZE
#define AV_TIMECODE_STR_SIZE 23 |
◆ AVTimecodeFlag
Enumerator |
---|
AV_TIMECODE_FLAG_DROPFRAME | timecode is drop frame
|
AV_TIMECODE_FLAG_24HOURSMAX | timecode wraps after 24 hours
|
AV_TIMECODE_FLAG_ALLOWNEGATIVE | negative time values are allowed
|
Definition at line 35 of file timecode.h.
◆ av_timecode_adjust_ntsc_framenum2()
int av_timecode_adjust_ntsc_framenum2 |
( |
int |
framenum, |
|
|
int |
fps |
|
) |
| |
Adjust frame number for NTSC drop frame time code.
- Parameters
-
framenum | frame number to adjust |
fps | frame per second, 30 or 60 |
- Returns
- adjusted frame number
- Warning
- adjustment is only valid in NTSC 29.97 and 59.94
◆ av_timecode_get_smpte_from_framenum()
uint32_t av_timecode_get_smpte_from_framenum |
( |
const AVTimecode * |
tc, |
|
|
int |
framenum |
|
) |
| |
Convert frame number to SMPTE 12M binary representation.
- Parameters
-
tc | timecode data correctly initialized |
framenum | frame number |
- Returns
- the SMPTE binary representation
- Note
- Frame number adjustment is automatically done in case of drop timecode, you do NOT have to call av_timecode_adjust_ntsc_framenum2().
-
The frame number is relative to tc->start.
-
Color frame (CF), binary group flags (BGF) and biphase mark polarity correction (PC) bits are set to zero.
◆ av_timecode_make_string()
char* av_timecode_make_string |
( |
const AVTimecode * |
tc, |
|
|
char * |
buf, |
|
|
int |
framenum |
|
) |
| |
Load timecode string in buf.
- Parameters
-
buf | destination buffer, must be at least AV_TIMECODE_STR_SIZE long |
tc | timecode data correctly initialized |
framenum | frame number |
- Returns
- the buf parameter
- Note
- Timecode representation can be a negative timecode and have more than 24 hours, but will only be honored if the flags are correctly set.
-
The frame number is relative to tc->start.
◆ av_timecode_make_smpte_tc_string()
char* av_timecode_make_smpte_tc_string |
( |
char * |
buf, |
|
|
uint32_t |
tcsmpte, |
|
|
int |
prevent_df |
|
) |
| |
Get the timecode string from the SMPTE timecode format.
- Parameters
-
buf | destination buffer, must be at least AV_TIMECODE_STR_SIZE long |
tcsmpte | the 32-bit SMPTE timecode |
prevent_df | prevent the use of a drop flag when it is known the DF bit is arbitrary |
- Returns
- the buf parameter
◆ av_timecode_make_mpeg_tc_string()
char* av_timecode_make_mpeg_tc_string |
( |
char * |
buf, |
|
|
uint32_t |
tc25bit |
|
) |
| |
Get the timecode string from the 25-bit timecode format (MPEG GOP format).
- Parameters
-
buf | destination buffer, must be at least AV_TIMECODE_STR_SIZE long |
tc25bit | the 25-bits timecode |
- Returns
- the buf parameter
◆ av_timecode_init()
int av_timecode_init |
( |
AVTimecode * |
tc, |
|
|
AVRational |
rate, |
|
|
int |
flags, |
|
|
int |
frame_start, |
|
|
void * |
log_ctx |
|
) |
| |
Init a timecode struct with the passed parameters.
- Parameters
-
log_ctx | a pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct (used for av_log) |
tc | pointer to an allocated AVTimecode |
rate | frame rate in rational form |
flags | miscellaneous flags such as drop frame, +24 hours, ... (see AVTimecodeFlag) |
frame_start | the first frame number |
- Returns
- 0 on success, AVERROR otherwise
◆ av_timecode_init_from_string()
int av_timecode_init_from_string |
( |
AVTimecode * |
tc, |
|
|
AVRational |
rate, |
|
|
const char * |
str, |
|
|
void * |
log_ctx |
|
) |
| |
Parse timecode representation (hh:mm:ss[:;.
]ff).
- Parameters
-
log_ctx | a pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct (used for av_log). |
tc | pointer to an allocated AVTimecode |
rate | frame rate in rational form |
str | timecode string which will determine the frame start |
- Returns
- 0 on success, AVERROR otherwise
◆ av_timecode_check_frame_rate()
int av_timecode_check_frame_rate |
( |
AVRational |
rate | ) |
|
Check if the timecode feature is available for the given frame rate.
- Returns
- 0 if supported, <0 otherwise