diff options
author | Alfred E. Heggestad <aeh@db.org> | 2016-06-04 23:22:55 +0200 |
---|---|---|
committer | Alfred E. Heggestad <aeh@db.org> | 2016-06-04 23:22:55 +0200 |
commit | 3bb22d2bb13a1700617b6c40eac08811a1b5b775 (patch) | |
tree | d69fd443dd3a93bd3d6c898667f39a2d64e07b86 /modules/vp9/vp9.c | |
parent | e6085d98b562cfc78a7d62ac9e3aa1c3923796dc (diff) |
vp9: add VP9 video codec
Diffstat (limited to 'modules/vp9/vp9.c')
-rw-r--r-- | modules/vp9/vp9.c | 61 |
1 files changed, 61 insertions, 0 deletions
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 <string.h> +#include <re.h> +#include <rem.h> +#include <baresip.h> +#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 +}; |