FFmpeg
Functions
timecode.c File Reference

Timecode helpers. More...

#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_framenum2 (int framenum, int fps)
  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_fps (int fps)
 
static int  check_timecode (void *log_ctx, AVTimecode *tc)
 
static int  fps_from_frame_rate (AVRational rate)
 
  Check if the timecode feature is available for the given frame 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[:;.
 

Detailed Description

Timecode helpers.

See Also
https://en.wikipedia.org/wiki/SMPTE_time_code
http://www.dropframetimecode.org

Definition in file timecode.c.

Function Documentation

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

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 AVTimecodetc,
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.

Definition at line 55 of file timecode.c.

Referenced by dv_write_pack(), and mxf_write_system_item().

char* av_timecode_make_string ( const AVTimecodetc,
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.

Definition at line 84 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

Definition at line 109 of file timecode.c.

Referenced by 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

Definition at line 118 of file timecode.c.

Referenced by dv_extract_timecode().

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

Definition at line 130 of file timecode.c.

Referenced by mpeg_decode_gop(), and show_stream().

static int check_fps ( int  fps )
static

Definition at line 141 of file timecode.c.

Referenced by av_timecode_check_frame_rate(), and check_timecode().

static int check_timecode ( voidlog_ctx,
AVTimecodetc 
)
static

Definition at line 152 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 170 of file timecode.c.

Referenced by av_timecode_check_frame_rate(), av_timecode_init(), and av_timecode_init_from_string().

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

Definition at line 177 of file timecode.c.

Referenced by find_fps().

int av_timecode_init ( AVTimecodetc,
AVRational  rate,
int  flags,
int  frame_start,
voidlog_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

Definition at line 182 of file timecode.c.

Referenced by dv_write_header(), mxf_parse_physical_source_package(), mxf_parse_structural_metadata(), mxf_write_header(), and parse_timecode_in_framenum_format().

int av_timecode_init_from_string ( AVTimecodetc,
AVRational  rate,
const char *  str,
voidlog_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

Definition at line 192 of file timecode.c.

Referenced by dv_write_header(), encode_init(), init(), mov_create_timecode_track(), and mxf_write_header().


Generated on Sun Mar 8 2015 02:35:33 for FFmpeg by   doxygen 1.8.2

AltStyle によって変換されたページ (->オリジナル) /