#include <stdio.h>
#include "timecode.h"
#include "log.h"
#include "error.h"
Go to the source code of this file.
Functions | |
int | av_timecode_adjust_ntsc_framenum (int framenum) |
Adjust frame number for NTSC drop frame time code. | |
uint32_t | av_timecode_get_smpte_from_framenum (const AVTimecode *tc, int framenum) |
Convert frame number to SMPTE 12M binary representation. | |
char * | av_timecode_make_string (const AVTimecode *tc, char *buf, int framenum) |
Load timecode string in buf. | |
static unsigned | bcd2uint (uint8_t bcd) |
char * | av_timecode_make_smpte_tc_string (char *buf, uint32_t tcsmpte, int prevent_df) |
Get the timecode string from the SMPTE timecode format. | |
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). | |
static int | check_timecode (void *log_ctx, AVTimecode *tc) |
static int | fps_from_frame_rate (AVRational rate) |
int | av_timecode_init (AVTimecode *tc, AVRational rate, int flags, int frame_start, void *log_ctx) |
Init a timecode struct with the passed parameters. | |
int | av_timecode_init_from_string (AVTimecode *tc, AVRational rate, const char *str, void *log_ctx) |
Parse timecode representation (hh:mm:ss[:;. |
Definition in file timecode.c.
int av_timecode_adjust_ntsc_framenum | ( | int | framenum | ) |
Adjust frame number for NTSC drop frame time code.
framenum | frame number to adjust |
Definition at line 34 of file timecode.c.
Referenced by av_timecode_get_smpte_from_framenum(), av_timecode_make_string(), and mpeg1_encode_sequence_header().
uint32_t av_timecode_get_smpte_from_framenum | ( | const AVTimecode * | tc, | |
int | framenum | |||
) |
Convert frame number to SMPTE 12M binary representation.
tc | timecode data correctly initialized | |
framenum | frame number |
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.
Definition at line 43 of file timecode.c.
Referenced by dv_write_pack(), and mxf_write_system_item().
int av_timecode_init | ( | AVTimecode * | tc, | |
AVRational | rate, | |||
int | flags, | |||
int | frame_start, | |||
void * | log_ctx | |||
) |
Init a timecode struct with the passed 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 |
Definition at line 157 of file timecode.c.
Referenced by dv_write_header(), mxf_parse_structural_metadata(), mxf_write_header(), and parse_timecode_in_framenum_format().
int av_timecode_init_from_string | ( | AVTimecode * | tc, | |
AVRational | rate, | |||
const char * | str, | |||
void * | log_ctx | |||
) |
Parse timecode representation (hh:mm:ss[:;.
]ff).
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 |
Definition at line 167 of file timecode.c.
Referenced by dv_write_header(), encode_init(), init(), and mxf_write_header().
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).
buf | destination buffer, must be at least AV_TIMECODE_STR_SIZE long | |
tc25bit | the 25-bits timecode |
Definition at line 118 of file timecode.c.
Referenced by mpeg_decode_gop(), and show_stream().
char* av_timecode_make_smpte_tc_string | ( | char * | buf, | |
uint32_t | tcsmpte, | |||
int | prevent_df | |||
) |
Get the timecode string from the SMPTE timecode format.
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 |
Definition at line 106 of file timecode.c.
Referenced by dv_extract_timecode().
char* av_timecode_make_string | ( | const AVTimecode * | tc, | |
char * | buf, | |||
int | framenum | |||
) |
Load timecode string in buf.
buf | destination buffer, must be at least AV_TIMECODE_STR_SIZE long | |
tc | timecode data correctly initialized | |
framenum | frame number |
The frame number is relative to tc->start.
Definition at line 72 of file timecode.c.
Referenced by draw_text(), mxf_add_timecode_metadata(), and parse_timecode_in_framenum_format().
static unsigned bcd2uint | ( | uint8_t | bcd | ) | [static] |
static int check_timecode | ( | void * | log_ctx, | |
AVTimecode * | tc | |||
) | [static] |
Definition at line 129 of file timecode.c.
Referenced by av_timecode_init(), and av_timecode_init_from_string().
static int fps_from_frame_rate | ( | AVRational | rate | ) | [static] |
Definition at line 150 of file timecode.c.
Referenced by av_timecode_init(), and av_timecode_init_from_string().