--- /dev/null
+\r
+#ifndef _COMMON_H_\r
+\r
+// common.h\r
+\r
+#define _COMMON_H_\r
+\r
+#define GF_ISOM_BRAND_MP4V GF_4CC('m','p','4','v')\r
+#define GF_ISOM_BRAND_XVID GF_4CC('x','v','i','d')\r
+\r
+typedef struct {\r
+ char *p_infile;\r
+ char *p_outfile;\r
+ char *p_tcfile;\r
+ int i_mode;\r
+ int i_tcv;\r
+ BOOL b_dc;\r
+ int i_timescale;\r
+ int i_timerate;\r
+ int i_delayFrame;\r
+ double f_scaleFct;\r
+ double f_mlt;\r
+} T_EDIT_PARAM;\r
+\r
+typedef struct {\r
+ GF_ISOFile *fp_in;\r
+ GF_ISOFile *fp_out;\r
+ int i_trackCount;\r
+ int i_trackNo;\r
+ u32 ui_4cc;\r
+ u32 ui_sampleCount;\r
+ int i_delayFrame;\r
+ int i_initDelay;\r
+ int i_org_timescale;\r
+ int i_org_timerate;\r
+} T_MP4_INFO;\r
+\r
+typedef struct {\r
+ u64 DTS;\r
+ u32 CTS_Offset;\r
+ u64 CTS;\r
+ u64 PTS; // delay\82ð\8aÜ\82Ü\82È\82¢\83s\83N\83`\83\83\95\\8e¦\83^\83C\83~\83\93\83O\r
+ u32 samples;\r
+} T_TS_LIST;\r
+\r
+int gcd( int a, int b);\r
+int CompareU64(const u64 *a, const u64 *b);\r
+int CompareTS_PTS(const T_TS_LIST *a, const T_TS_LIST *b);\r
+int CompareTS_Sample(const T_TS_LIST *a, const T_TS_LIST *b);\r
+\r
+int SearchTrackOf4CC(T_MP4_INFO *mi, u32 *List4CC, int ListCount);\r
+int readTsFromFile(T_MP4_INFO *mi, T_TS_LIST *ts);\r
+int getDelayFlame(T_MP4_INFO *mi, T_TS_LIST *ts);\r
+int getMinimumPTSDiff(T_MP4_INFO *mi, T_TS_LIST *ts);\r
+int getMaximumPTSDiff(T_MP4_INFO *mi, T_TS_LIST *ts);\r
+double getAveragePTSDiff(T_MP4_INFO *mi, T_TS_LIST *ts);\r
+double getAverageFps(T_MP4_INFO *mi, T_TS_LIST *ts);\r
+double getMaximumFps(T_MP4_INFO *mi, T_TS_LIST *ts);\r
+\r
+int readTimeCodeFromFile(T_MP4_INFO *mi, T_TS_LIST *tc, T_EDIT_PARAM *prm);\r
+int readTimeCodeFromFileV1(T_MP4_INFO *mi, T_TS_LIST *tc, T_EDIT_PARAM *prm);\r
+\r
+\r
+\r
+#endif //_COMMON_H_\r
+\r
+\r