aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/libopenh264.h
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2016-06-24 00:58:17 +0300
committerMartin Storsjö <martin@martin.st>2016-06-28 14:17:43 +0300
commit82b7525173f20702a8cbc26ebedbf4b69b8fecec (patch)
tree125eb3d187db9c5a9da834e7aa8ee1696461fb3b /libavcodec/libopenh264.h
parent785c25443b56adb6dbbb78d68cccbd9bd4a42e05 (diff)
downloadffmpeg-82b7525173f20702a8cbc26ebedbf4b69b8fecec.tar.gz
Add an OpenH264 decoder wrapper
While it is less featureful (and slower) than the built-in H264 decoder, one could potentially want to use it to take advantage of the cisco patent license offer. Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavcodec/libopenh264.h')
-rw-r--r--libavcodec/libopenh264.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/libavcodec/libopenh264.h b/libavcodec/libopenh264.h
new file mode 100644
index 0000000000..7c69481313
--- /dev/null
+++ b/libavcodec/libopenh264.h
@@ -0,0 +1,39 @@
+/*
+ * OpenH264 shared utils
+ * Copyright (C) 2014 Martin Storsjo
+ *
+ * This file is part of Libav.
+ *
+ * Libav is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * Libav is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with Libav; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef AVCODEC_LIBOPENH264_H
+#define AVCODEC_LIBOPENH264_H
+
+#define OPENH264_VER_AT_LEAST(maj, min) \
+ ((OPENH264_MAJOR > (maj)) || \
+ (OPENH264_MAJOR == (maj) && OPENH264_MINOR >= (min)))
+
+// This function will be provided to the libopenh264 library. The function will be called
+// when libopenh264 wants to log a message (error, warning, info, etc.). The signature for
+// this function (defined in .../codec/api/svc/codec_api.h) is:
+//
+// typedef void (*WelsTraceCallback) (void* ctx, int level, const char* string);
+
+void ff_libopenh264_trace_callback(void *ctx, int level, const char *msg);
+
+int ff_libopenh264_check_version(void *logctx);
+
+#endif /* AVCODEC_LIBOPENH264_H */