libltcsmpte  0.4.4
framerate.h
Go to the documentation of this file.
1 
24 #ifndef FRAMERATE_H
25 #define FRAMERATE_H
26 
31 typedef enum
32 {
33  FRF_NONE = 0,
37  FRF_OFFA = 8,
38  FRF_OFFV = 16,
39  FRF_LAST = 32
40 } FRFlags;
41 
42 typedef enum
43 {
50 } FRSMPTE;
51 
55 typedef struct
56 {
57  int num;
58  int den;
59  int flags;
60  int samplerate;
61  long long int aoffset;
62  long int voffset;
63 } FrameRate;
64 
68 int FR_toint(FrameRate *fr);
69 
73 double FR_todbl(FrameRate *fr);
74 
79 FrameRate *FR_create(int num, int den, int flags);
80 
84 void FR_free(FrameRate *f);
85 
89 void FR_setsamplerate(FrameRate *f, int samplerate);
90 
94 long long int FR_vf2af(FrameRate *f, long int vf);
95 
100 long int FR_af2vfi(FrameRate *f, long long int af);
101 
105 double FR_af2vf(FrameRate *f, long long int af);
106 
115 long int FR_insert_drop_frames(long int frames);
116 
128 long int FR_drop_frames(FrameRate *fr, int f, int s, int m, int h);
129 
133 long long int FR_smpte2af (FrameRate *fr, int f, int s, int m, int h, int overflow);
134 
140 void FR_frame_to_bcd(FrameRate*f, long int *bcd, long int frame);
141 
148 void FR_vf2smpte(FrameRate *fr, char *smptestring, long int frame);
149 
159 long int FR_smpte2vf(FrameRate *fr, int f, int s, int m, int h, int overflow);
160 
166 long int FR_bcd2vf(FrameRate *fr, int bcd[SMPTE_LAST]);
167 
171 void FR_setflags(FrameRate *fr, int flags);
172 
176 void FR_setratio(FrameRate *fr, int num, int den);
177 
183 void FR_setdbl(FrameRate *fr, double fps, int mode);
184 
185 #endif