top-level: add extern "C" to headers
Change-Id: I5164df72aff84eca0ace56032c5373f04053c6a5
diff --git a/args.h b/args.h
index ea909cb..04e0acd 100644
--- a/args.h
+++ b/args.h
@@ -13,6 +13,10 @@
#define ARGS_H_
#include <stdio.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct arg {
char **argv;
const char *name;
@@ -48,4 +52,8 @@
int arg_parse_int(const struct arg *arg);
struct vpx_rational arg_parse_rational(const struct arg *arg);
int arg_parse_enum_or_int(const struct arg *arg);
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
#endif // ARGS_H_
diff --git a/md5_utils.h b/md5_utils.h
index 9935eae..bd4991b 100644
--- a/md5_utils.h
+++ b/md5_utils.h
@@ -23,6 +23,10 @@
#ifndef MD5_UTILS_H_
#define MD5_UTILS_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define md5byte unsigned char
#define UWORD32 unsigned int
@@ -38,4 +42,8 @@
void MD5Final(unsigned char digest[16], struct MD5Context *context);
void MD5Transform(UWORD32 buf[4], UWORD32 const in[16]);
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
#endif // MD5_UTILS_H_
diff --git a/vpxenc.h b/vpxenc.h
index 5cb3f85..5103ee6 100644
--- a/vpxenc.h
+++ b/vpxenc.h
@@ -12,6 +12,10 @@
#include "vpx/vpx_encoder.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
enum TestDecodeFatality {
TEST_DECODE_OFF,
TEST_DECODE_FATAL,
@@ -42,4 +46,8 @@
int disable_warning_prompt;
};
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
#endif // VPXENC_H_
diff --git a/vpxstats.h b/vpxstats.h
index 18b3acd..9ce9c53 100644
--- a/vpxstats.h
+++ b/vpxstats.h
@@ -15,6 +15,10 @@
#include "vpx/vpx_encoder.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* This structure is used to abstract the different ways of handling
* first pass statistics
*/
@@ -34,4 +38,8 @@
double vp8_mse2psnr(double samples, double peak, double mse);
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
#endif // VPXSTATS_H_
diff --git a/warnings.h b/warnings.h
index ac3a4b6..6b8ae67 100644
--- a/warnings.h
+++ b/warnings.h
@@ -10,6 +10,10 @@
#ifndef WARNINGS_H_
#define WARNINGS_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct vpx_codec_enc_cfg;
struct VpxEncoderConfig;
@@ -22,4 +26,8 @@
const struct VpxEncoderConfig *global_config,
const struct vpx_codec_enc_cfg *stream_config);
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
#endif // WARNINGS_H_
diff --git a/webmdec.h b/webmdec.h
index 002fbe6..fa5a52e 100644
--- a/webmdec.h
+++ b/webmdec.h
@@ -12,6 +12,10 @@
#include "./tools_common.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct nestegg;
struct nestegg_packet;
struct VpxInputContext;
@@ -37,4 +41,8 @@
void webm_free(struct WebmInputContext *webm_ctx);
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
#endif // WEBMDEC_H_
diff --git a/webmenc.h b/webmenc.h
index f3bc3ec..362aa89 100644
--- a/webmenc.h
+++ b/webmenc.h
@@ -23,6 +23,10 @@
#include "tools_common.h"
#include "vpx/vpx_encoder.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
typedef off_t EbmlLoc;
struct cue_entry {
@@ -84,4 +88,8 @@
void write_webm_file_footer(struct EbmlGlobal *glob, int hash);
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
#endif // WEBMENC_H_
diff --git a/y4menc.h b/y4menc.h
index e5f7978..95f7909 100644
--- a/y4menc.h
+++ b/y4menc.h
@@ -17,6 +17,10 @@
#include "vpx/vpx_decoder.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
void y4m_write_file_header(FILE *file, int width, int height,
const struct VpxRational *framerate,
vpx_img_fmt_t fmt);
@@ -24,4 +28,8 @@
void y4m_write_frame_header(FILE *file);
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
#endif // Y4MENC_H_
diff --git a/y4minput.h b/y4minput.h
index 615debe..d53eb65 100644
--- a/y4minput.h
+++ b/y4minput.h
@@ -17,6 +17,10 @@
# include <stdio.h>
# include "vpx/vpx_image.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
typedef struct y4m_input y4m_input;
@@ -62,4 +66,8 @@
void y4m_input_close(y4m_input *_y4m);
int y4m_input_fetch_frame(y4m_input *_y4m, FILE *_fin, vpx_image_t *img);
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
#endif // Y4MINPUT_H_