summaryrefslogtreecommitdiffstats
path: root/debian/transcode/transcode-1.1.7/libtc/framecode.h
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2020-09-11 14:38:47 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2020-09-11 14:38:47 +0900
commit884c8093d63402a1ad0b502244b791e3c6782be3 (patch)
treea600d4ab0d431a2bdfe4c15b70df43c14fbd8dd0 /debian/transcode/transcode-1.1.7/libtc/framecode.h
parent14e1aa2006796f147f3f4811fb908a6b01e79253 (diff)
downloadextra-dependencies-884c8093d63402a1ad0b502244b791e3c6782be3.tar.gz
extra-dependencies-884c8093d63402a1ad0b502244b791e3c6782be3.zip
Added debian extra dependency packages.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'debian/transcode/transcode-1.1.7/libtc/framecode.h')
-rw-r--r--debian/transcode/transcode-1.1.7/libtc/framecode.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/debian/transcode/transcode-1.1.7/libtc/framecode.h b/debian/transcode/transcode-1.1.7/libtc/framecode.h
new file mode 100644
index 00000000..72faccf1
--- /dev/null
+++ b/debian/transcode/transcode-1.1.7/libtc/framecode.h
@@ -0,0 +1,85 @@
+/*
+ * framecode.h -- framecode list handling include file
+ * Written by Andrew Church <achurch@achurch.org>
+ *
+ * This file is part of transcode, a video stream processing tool.
+ * transcode is free software, distributable under the terms of the GNU
+ * General Public License (version 2 or later). See the file COPYING
+ * for details.
+ */
+
+#ifndef LIBTC_FRAMECODE_H
+#define LIBTC_FRAMECODE_H
+
+/*************************************************************************/
+
+/* A single framecode range structure. Start times are considered
+ * inclusive, while end times are considered exclusive; thus a range with
+ * stf==0 and etf==10 contains 10 frames, not 11 frames. */
+
+struct fc_time {
+ struct fc_time *next;
+
+ double fps; /* Frames per second */
+ unsigned int stepf; /* Step value (process every stepf'th frame) */
+ unsigned int vob_offset; /* For transcode -L (should be removed) */
+
+ unsigned int sh; /* Start time: hour */
+ unsigned int sm; /* Start time: minute */
+ unsigned int ss; /* Start time: second */
+ unsigned int sf; /* Start time: frame within second */
+ unsigned int stf; /* Start time: frame index */
+
+ unsigned int eh; /* End time: hour */
+ unsigned int em; /* End time: minute */
+ unsigned int es; /* End time: second */
+ unsigned int ef; /* End time: frame within second */
+ unsigned int etf; /* End time: frame index */
+};
+
+/*************************************************************************/
+
+/* Functions for handling fc_time structures. */
+
+
+/* Allocate a new, zeroed fc_time structure. */
+struct fc_time *new_fc_time(void);
+
+/* Free a list of allocated fc_time structures. */
+void free_fc_time(struct fc_time *list);
+
+/* Set fields of an fc_time structure from frame indices. */
+void set_fc_time(struct fc_time *range, int start, int end);
+
+/* Return whether a list of fc_time structures contains a given frame index. */
+int fc_time_contains(const struct fc_time *list, unsigned int frame);
+
+/* Parse a string into a list of fc_time structures. */
+struct fc_time *new_fc_time_from_string(const char *string,
+ const char *separator,
+ double fps, int verbose);
+
+
+/* Compatibility macros */
+
+#define parse_fc_time_string(str,fps,sep,verb,list) \
+ ((*(list) = new_fc_time_from_string((str), (sep), (fps), (verb))) \
+ != NULL ? 0 : -1)
+#define fc_frame_in_time(list,frame) fc_time_contains((list), (frame))
+
+// only for avisplit
+#define fc_set_start_time(range,n) set_fc_time((range), (n), -1)
+
+/*************************************************************************/
+
+#endif /* LIBTC_FRAMECODE_H */
+
+/*
+ * Local variables:
+ * c-file-style: "stroustrup"
+ * c-file-offsets: ((case-label . *) (statement-case-intro . *))
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vim: expandtab shiftwidth=4:
+ */