summaryrefslogtreecommitdiff
path: root/modules/vp8/vp8.c
diff options
context:
space:
mode:
Diffstat (limited to 'modules/vp8/vp8.c')
-rw-r--r--modules/vp8/vp8.c62
1 files changed, 62 insertions, 0 deletions
diff --git a/modules/vp8/vp8.c b/modules/vp8/vp8.c
new file mode 100644
index 0000000..acaad12
--- /dev/null
+++ b/modules/vp8/vp8.c
@@ -0,0 +1,62 @@
+/**
+ * @file vp8.c VP8 Video Codec
+ *
+ * Copyright (C) 2010 Creytiv.com
+ */
+#include <re.h>
+#include <rem.h>
+#include <baresip.h>
+#include "vp8.h"
+
+
+/**
+ * @defgroup vp8 vp8
+ *
+ * The VP8 video codec
+ *
+ * This module implements the VP8 video codec that is compatible
+ * with the WebRTC standard.
+ *
+ * References:
+ *
+ * http://www.webmproject.org/
+ *
+ * https://tools.ietf.org/html/rfc7741
+ */
+
+
+static struct vp8_vidcodec vp8 = {
+ .vc = {
+ .name = "VP8",
+ .encupdh = vp8_encode_update,
+ .ench = vp8_encode,
+ .decupdh = vp8_decode_update,
+ .dech = vp8_decode,
+ .fmtp_ench = vp8_fmtp_enc,
+ },
+ .max_fs = 3600,
+};
+
+
+static int module_init(void)
+{
+ vidcodec_register((struct vidcodec *)&vp8);
+
+ return 0;
+}
+
+
+static int module_close(void)
+{
+ vidcodec_unregister((struct vidcodec *)&vp8);
+
+ return 0;
+}
+
+
+EXPORT_SYM const struct mod_export DECL_EXPORTS(vp8) = {
+ "vp8",
+ "codec",
+ module_init,
+ module_close
+};