From 3bb22d2bb13a1700617b6c40eac08811a1b5b775 Mon Sep 17 00:00:00 2001 From: "Alfred E. Heggestad" Date: Sat, 4 Jun 2016 23:22:55 +0200 Subject: vp9: add VP9 video codec --- modules/vp9/vp9.c | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 modules/vp9/vp9.c (limited to 'modules/vp9/vp9.c') diff --git a/modules/vp9/vp9.c b/modules/vp9/vp9.c new file mode 100644 index 0000000..852a19a --- /dev/null +++ b/modules/vp9/vp9.c @@ -0,0 +1,61 @@ +/** + * @file vp9.c VP9 video codec + * + * Copyright (C) 2010 - 2016 Creytiv.com + */ +#include +#include +#include +#include +#include "vp9.h" + + +/** + * @defgroup vp9 vp9 + * + * The VP9 video codec + * + * This module implements the VP9 video codec that is compatible + * with the WebRTC standard. + * + * References: + * + * http://www.webmproject.org/ + * + * draft-ietf-payload-vp9-02 + */ + + +static struct vp9_vidcodec vp9 = { + .vc = { + .name = "VP9", + .encupdh = vp9_encode_update, + .ench = vp9_encode, + .decupdh = vp9_decode_update, + .dech = vp9_decode, + .fmtp_ench = vp9_fmtp_enc, + }, + .max_fs = 3600 +}; + + +static int module_init(void) +{ + vidcodec_register((struct vidcodec *)&vp9); + return 0; +} + + +static int module_close(void) +{ + vidcodec_unregister((struct vidcodec *)&vp9); + return 0; +} + + +EXPORT_SYM const struct mod_export DECL_EXPORTS(vp9) = { + "vp9", + "codec", + module_init, + module_close +}; -- cgit v1.2.3