• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

libavcodec/timecode.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2006 Smartjog S.A.S, Baptiste Coudurier <baptiste.coudurier@gmail.com>
00003  * Copyright (C) 2011 Smartjog S.A.S, Clément Bœsch      <clement.boesch@smartjog.com>
00004  *
00005  * This file is part of FFmpeg.
00006  *
00007  * FFmpeg is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Lesser General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2.1 of the License, or (at your option) any later version.
00011  *
00012  * FFmpeg is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Lesser General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Lesser General Public
00018  * License along with FFmpeg; if not, write to the Free Software
00019  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
00020  */
00021 
00027 #ifndef AVCODEC_TIMECODE_H
00028 #define AVCODEC_TIMECODE_H
00029 
00030 #include <stdint.h>
00031 #include "avcodec.h"
00032 #include "libavutil/rational.h"
00033 
00034 #define TIMECODE_OPT(ctx, flags)                                         \
00035     "timecode", "set timecode value following hh:mm:ss[:;.]ff format, "  \
00036                 "use ';' or '.' before frame number for drop frame",     \
00037     offsetof(ctx, tc.str),                                               \
00038     AV_OPT_TYPE_STRING, {.str=NULL}, CHAR_MIN, CHAR_MAX, flags
00039 
00040 struct ff_timecode {
00041     char *str;       
00042     int start;       
00043     int drop;        
00044     AVRational rate; 
00045 };
00046 
00053 int avpriv_framenum_to_drop_timecode(int frame_num);
00054 
00062 uint32_t avpriv_framenum_to_smpte_timecode(unsigned frame, int fps, int drop);
00063 
00075 char *avpriv_timecode_to_string(char *buf, const struct ff_timecode *tc, unsigned frame);
00076 
00082 int avpriv_check_timecode_rate(void *avcl, AVRational rate, int drop);
00083 
00094 int avpriv_init_smpte_timecode(void *avcl, struct ff_timecode *tc);
00095 
00096 #if FF_API_OLD_TIMECODE
00097 attribute_deprecated int ff_framenum_to_drop_timecode(int frame_num);
00098 attribute_deprecated uint32_t ff_framenum_to_smtpe_timecode(unsigned frame, int fps, int drop);
00099 attribute_deprecated int ff_init_smtpe_timecode(void *avcl, struct ff_timecode *tc);
00100 #endif
00101 
00102 #endif /* AVCODEC_TIMECODE_H */
Generated on Fri Feb 1 2013 14:34:44 for FFmpeg by doxygen 1.7.1