summaryrefslogtreecommitdiffstats
path: root/src/ufodecode.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ufodecode.h')
-rw-r--r--src/ufodecode.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/ufodecode.h b/src/ufodecode.h
new file mode 100644
index 0000000..6d9bdce
--- /dev/null
+++ b/src/ufodecode.h
@@ -0,0 +1,27 @@
+#ifndef LIB_UFODECODE_H
+#define LIB_UFODECODE_H
+
+#include <inttypes.h>
+
+typedef struct ufo_decoder_t *ufo_decoder;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+ufo_decoder ufo_decoder_new(uint32_t height, uint32_t *raw, size_t num_bytes);
+void ufo_decoder_free(ufo_decoder decoder);
+void ufo_decoder_set_raw_data(ufo_decoder decoder, uint32_t *raw, size_t num_bytes);
+int ufo_decoder_get_next_frame(ufo_decoder decoder, uint16_t **pixels, uint32_t *frame_number, uint32_t *time_stamp);
+
+void ufo_deinterlace_interpolate(const uint16_t *frame_in, uint16_t *frame_out, int width, int height);
+void ufo_deinterlace_weave(const uint16_t *in1, const uint16_t *in2, uint16_t *out, int width, int height);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+