]> granicus.if.org Git - libvpx/commitdiff
vp8/common: add extern "C" to headers
authorJames Zern <jzern@google.com>
Sat, 18 Jan 2014 20:16:11 +0000 (12:16 -0800)
committerJames Zern <jzern@google.com>
Fri, 24 Jan 2014 00:21:24 +0000 (16:21 -0800)
Change-Id: I13b434b1e6621e31962b08831c3587c039368c83

32 files changed:
vp8/common/alloccommon.h
vp8/common/arm/bilinearfilter_arm.h
vp8/common/blockd.h
vp8/common/coefupdateprobs.h
vp8/common/common.h
vp8/common/default_coef_probs.h
vp8/common/entropy.h
vp8/common/entropymode.h
vp8/common/entropymv.h
vp8/common/extend.h
vp8/common/filter.h
vp8/common/findnearmv.h
vp8/common/header.h
vp8/common/invtrans.h
vp8/common/loopfilter.h
vp8/common/modecont.h
vp8/common/mv.h
vp8/common/onyxc_int.h
vp8/common/postproc.h
vp8/common/ppflags.h
vp8/common/pragmas.h
vp8/common/quant_common.h
vp8/common/reconinter.h
vp8/common/reconintra4x4.h
vp8/common/setupintrarecon.h
vp8/common/swapyv12buffer.h
vp8/common/systemdependent.h
vp8/common/threading.h
vp8/common/treecoder.h
vp8/common/variance.h
vp8/common/vp8_entropymodedata.h
vp8/common/x86/filter_x86.h

index 38f89a0f1243cd7c708d5e1123fa5334f24e3ee0..93e99d76b1d76d0a57ff7d3cf9b7be7470c79e4d 100644 (file)
 
 #include "onyxc_int.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 void vp8_create_common(VP8_COMMON *oci);
 void vp8_remove_common(VP8_COMMON *oci);
 void vp8_de_alloc_frame_buffers(VP8_COMMON *oci);
 int vp8_alloc_frame_buffers(VP8_COMMON *oci, int width, int height);
 void vp8_setup_version(VP8_COMMON *oci);
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_ALLOCCOMMON_H_
index dd3ff14fbde9f8890d0b1787911b959a937f96f5..6b84e6f3b55e95659ca20044df69d76db834bf3a 100644 (file)
 #ifndef VP8_COMMON_ARM_BILINEARFILTER_ARM_H_
 #define VP8_COMMON_ARM_BILINEARFILTER_ARM_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 extern void vp8_filter_block2d_bil_first_pass_armv6
 (
     const unsigned char  *src_ptr,
@@ -32,4 +36,8 @@ extern void vp8_filter_block2d_bil_second_pass_armv6
     const short         *vp8_filter
 );
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_ARM_BILINEARFILTER_ARM_H_
index c3caee10e2abee76afead9c4253d9dc13cf23c62..ea1a6a4adfdedb717e588d7b4911a9d341b8b7b8 100644 (file)
@@ -20,6 +20,10 @@ void vpx_log(const char *format, ...);
 #include "treecoder.h"
 #include "vpx_ports/mem.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /*#define DCPRED 1*/
 #define DCPREDSIMTHRESH 0
 #define DCPREDCNTTHRESH 3
@@ -297,4 +301,8 @@ typedef struct macroblockd
 extern void vp8_build_block_doffsets(MACROBLOCKD *x);
 extern void vp8_setup_block_dptrs(MACROBLOCKD *x);
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_BLOCKD_H_
index 90d290d6e7c3e6474f68a736cb4fbd0d279ffcc3..d96a19e7478c01cc346d439be8cb4a6f2ad359ec 100644 (file)
 #ifndef VP8_COMMON_COEFUPDATEPROBS_H_
 #define VP8_COMMON_COEFUPDATEPROBS_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* Update probabilities for the nodes in the token entropy tree.
    Generated file included by entropy.c */
 
@@ -186,4 +190,8 @@ const vp8_prob vp8_coef_update_probs [BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTE
     },
 };
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_COEFUPDATEPROBS_H_
index 9671da00f17c59338f40fa7d035ad621020984aa..ee5b58c75d81e10d4ffbe19b58be0a4f056af6c2 100644 (file)
 
 #include "vpx_mem/vpx_mem.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* Only need this for fixed-size arrays, for structs just assign. */
 
 #define vp8_copy( Dest, Src) { \
@@ -37,4 +41,8 @@
 #define vp8_zero_array( Dest, N)  vpx_memset( Dest, 0, N * sizeof( *Dest));
 
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_COMMON_H_
index 8368545943d22006b7167f57aa0e1af73653b374..4d69e4be6645e2ec7cc6f47fa29363a8140673d2 100644 (file)
 #ifndef VP8_COMMON_DEFAULT_COEF_PROBS_H_
 #define VP8_COMMON_DEFAULT_COEF_PROBS_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /*Generated file, included by entropy.c*/
 
 
@@ -189,4 +193,8 @@ static const vp8_prob default_coef_probs [BLOCK_TYPES]
     }
 };
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_DEFAULT_COEF_PROBS_H_
index 175fa9f61d315e726ca48fbd0e07a5eead140480..a90bab4bac2e2000c409861b7e020fc76dac10d0 100644 (file)
 #include "treecoder.h"
 #include "blockd.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* Coefficient token alphabet */
 
 #define ZERO_TOKEN              0       /* 0         Extra Bits 0+0 */
@@ -98,4 +102,8 @@ extern DECLARE_ALIGNED(16, const short, vp8_default_zig_zag_mask[16]);
 extern const int vp8_mb_feature_data_bits[MB_LVL_MAX];
 
 void vp8_coef_tree_initialize(void);
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_ENTROPY_H_
index 18af8c0b88b466ff576fcafe4fb2ba5e26ab0384..81bdfc4b8bdd196ea20a9ace24479f246f026af6 100644 (file)
 #include "onyxc_int.h"
 #include "treecoder.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 typedef enum
 {
     SUBMVREF_NORMAL,
@@ -77,4 +81,8 @@ void vp8_init_mbmode_probs(VP8_COMMON *x);
 void vp8_default_bmode_probs(vp8_prob dest [VP8_BINTRAMODES-1]);
 void vp8_kf_default_bmode_probs(vp8_prob dest [VP8_BINTRAMODES] [VP8_BINTRAMODES] [VP8_BINTRAMODES-1]);
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_ENTROPYMODE_H_
index 7d16b988f6ffdb036339ad1b93728adaf516d2f2..42840d58ad26c65ff7e2406758c6845cb56aa724 100644 (file)
 
 #include "treecoder.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 enum
 {
     mv_max  = 1023,              /* max absolute value of a MV component */
@@ -41,4 +45,8 @@ typedef struct mv_context
 
 extern const MV_CONTEXT vp8_mv_update_probs[2], vp8_default_mv_context[2];
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_ENTROPYMV_H_
index b7e70407992a867c59482763668e9c86323b7836..068f4ac5236ffdd3d20c00367aec6aa166fb0b91 100644 (file)
 
 #include "vpx_scale/yv12config.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 void vp8_extend_mb_row(YV12_BUFFER_CONFIG *ybf, unsigned char *YPtr, unsigned char *UPtr, unsigned char *VPtr);
 void vp8_copy_and_extend_frame(YV12_BUFFER_CONFIG *src,
                                YV12_BUFFER_CONFIG *dst);
@@ -22,4 +26,8 @@ void vp8_copy_and_extend_frame_with_rect(YV12_BUFFER_CONFIG *src,
                                          int srcy, int srcx,
                                          int srch, int srcw);
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_EXTEND_H_
index c2048ee135f1be71c848cea2fe29453823a61a08..cfba775fce47c93287932e82b605930163a1f628 100644 (file)
 
 #include "vpx_ports/mem.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #define BLOCK_HEIGHT_WIDTH 4
 #define VP8_FILTER_WEIGHT 128
 #define VP8_FILTER_SHIFT  7
@@ -21,4 +25,8 @@
 extern DECLARE_ALIGNED(16, const short, vp8_bilinear_filters[8][2]);
 extern DECLARE_ALIGNED(16, const short, vp8_sub_pel_filters[8][6]);
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_FILTER_H_
index 1525db24fd122fe835c88f0a051979b9f23255a5..3c8c0506f67501aeacb929f271e833a2716431ae 100644 (file)
 #include "modecont.h"
 #include "treecoder.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 
 static void mv_bias(int refmb_ref_frame_sign_bias, int refframe, int_mv *mvp,
                     const int *ref_frame_sign_bias)
@@ -179,4 +183,8 @@ static B_PREDICTION_MODE above_block_mode(const MODE_INFO *cur_mb, int b, int mi
     return (cur_mb->bmi + b - 4)->as_mode;
 }
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_FINDNEARMV_H_
index 61a8f49bcf0cbcda82c0af3ae9de49968255a0a7..e27bca16bd73642a16728ff2ce67fab941e00155 100644 (file)
 #ifndef VP8_COMMON_HEADER_H_
 #define VP8_COMMON_HEADER_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* 24 bits total */
 typedef struct
 {
@@ -40,4 +44,8 @@ typedef struct
 #endif
 
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_HEADER_H_
index 0186e6b3b56f4f55321603eab7901ab128d7f207..affe57e3d6e28121e9b67e6947984993e81c87ef 100644 (file)
 #include "vpx_mem/vpx_mem.h"
 #endif
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 static void eob_adjust(char *eobs, short *diff)
 {
     /* eob adjust.... the idct can only skip if both the dc and eob are zero */
@@ -59,4 +63,8 @@ static void vp8_inverse_transform_mby(MACROBLOCKD *xd)
                      xd->dst.y_buffer,
                      xd->dst.y_stride, xd->eobs);
 }
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_INVTRANS_H_
index 51825efc195059bafc5b3b26fcc911921e1ac034..20a6bd375b600799fe887d60443f199319360777 100644 (file)
 #include "vpx_config.h"
 #include "vp8_rtcd.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #define MAX_LOOP_FILTER             63
 /* fraction of total macroblock rows to be used in fast filter level picking */
 /* has to be > 2 */
@@ -102,4 +106,8 @@ void vp8_loop_filter_row_simple(struct VP8Common *cm,
                                 int mb_row, int post_ystride, int post_uvstride,
                                 unsigned char *y_ptr, unsigned char *u_ptr,
                                 unsigned char *v_ptr);
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_LOOPFILTER_H_
index 875bc2754a8bd16a1f0296fcee5355a159dcf021..ff34c33c557cfe623200044b05f3260371030eba 100644 (file)
 #ifndef VP8_COMMON_MODECONT_H_
 #define VP8_COMMON_MODECONT_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 extern const int vp8_mode_contexts[6][4];
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_MODECONT_H_
index 1e4b206a2a037d4cc437e6798267be187276824c..111ccd63c7226f15cec8452458354718a089cf9d 100644 (file)
 #define VP8_COMMON_MV_H_
 #include "vpx/vpx_integer.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 typedef struct
 {
     short row;
@@ -25,4 +29,8 @@ typedef union int_mv
     MV        as_mv;
 } int_mv;        /* facilitates faster equality tests and copies */
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_MV_H_
index 92eb7f99a50fb615ae49eb55a7dd1e913d861ed2..6d89865c600ab510446ac1adfa38569f0c3bbe77 100644 (file)
 #include "header.h"
 /*#endif*/
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #define MINQ 0
 #define MAXQ 127
 #define QINDEX_RANGE (MAXQ + 1)
@@ -174,4 +178,8 @@ typedef struct VP8Common
     int cpu_caps;
 } VP8_COMMON;
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_ONYXC_INT_H_
index 10baf6ccfb6d202c9eb97c1a511151f1d7b1323b..33d0a7f025bef122edb6bb5daf5effc90712cc2f 100644 (file)
@@ -26,6 +26,10 @@ struct postproc_state
 };
 #include "onyxc_int.h"
 #include "ppflags.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
 int vp8_post_proc_frame(struct VP8Common *oci, YV12_BUFFER_CONFIG *dest,
                         vp8_ppflags_t *flags);
 
@@ -47,4 +51,8 @@ void vp8_deblock(struct VP8Common           *oci,
 #define MFQE_PRECISION 4
 
 void vp8_multiframe_quality_enhance(struct VP8Common *cm);
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_POSTPROC_H_
index 1fb37e17a3d62da58f2b49ad5fecd8cd8722505d..768224aad5e6d21727a81bcc1c1bf33432755aa7 100644 (file)
 
 #ifndef VP8_COMMON_PPFLAGS_H_
 #define VP8_COMMON_PPFLAGS_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
 enum
 {
     VP8D_NOFILTERING            = 0,
@@ -38,4 +42,8 @@ typedef struct
     int display_mv_flag;
 } vp8_ppflags_t;
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_PPFLAGS_H_
index be10452d241fad14fbdf1d08b175e8758292152e..329cc8275c2f14fd04aa4c7dc746b099ce971b94 100644 (file)
 #ifndef VP8_COMMON_PRAGMAS_H_
 #define VP8_COMMON_PRAGMAS_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #ifdef __INTEL_COMPILER
 #pragma warning(disable:997 1011 170)
 #endif
@@ -18,4 +22,8 @@
 #pragma warning(disable:4799)
 #endif
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_PRAGMAS_H_
index 4c7457f8dc3276ad4ba1b73d6a3315a35554b62e..700b5e6d726c7d2278c90392b230df303ecccbb1 100644 (file)
 #include "blockd.h"
 #include "onyxc_int.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 extern int vp8_ac_yquant(int QIndex);
 extern int vp8_dc_quant(int QIndex, int Delta);
 extern int vp8_dc2quant(int QIndex, int Delta);
@@ -23,4 +27,8 @@ extern int vp8_ac2quant(int QIndex, int Delta);
 extern int vp8_dc_uv_quant(int QIndex, int Delta);
 extern int vp8_ac_uv_quant(int QIndex, int Delta);
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_QUANT_COMMON_H_
index 50ebedc0094341f00028473f0710b150beee81b9..ba979b9664af56cf5ac1a01831782ab555439152 100644 (file)
 #ifndef VP8_COMMON_RECONINTER_H_
 #define VP8_COMMON_RECONINTER_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 extern void vp8_build_inter_predictors_mb(MACROBLOCKD *x);
 extern void vp8_build_inter16x16_predictors_mb(MACROBLOCKD *x,
                                                unsigned char *dst_y,
@@ -32,4 +36,8 @@ extern void vp8_build_inter_predictors_b(BLOCKD *d, int pitch,
 extern void vp8_build_inter16x16_predictors_mbuv(MACROBLOCKD *x);
 extern void vp8_build_inter4x4_predictors_mbuv(MACROBLOCKD *x);
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_RECONINTER_H_
index cbb06ce789b11ef72ed88d58ef12a46b53b34a53..ed59c9edd4cd29fdba6ec1e2c72a03ca8beb10cb 100644 (file)
 #define VP8_COMMON_RECONINTRA4X4_H_
 #include "vp8/common/blockd.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 static void intra_prediction_down_copy(MACROBLOCKD *xd,
                                              unsigned char *above_right_src)
 {
@@ -29,4 +33,8 @@ static void intra_prediction_down_copy(MACROBLOCKD *xd,
     *dst_ptr2 = *src_ptr;
 }
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_RECONINTRA4X4_H_
index 3db507b88ecc7a0f06cffc9a22a5cc7c433fd35a..608f4a9ac25566e9d85378086ac0d2f916f42a08 100644 (file)
 #define VP8_COMMON_SETUPINTRARECON_H_
 
 #include "vpx_scale/yv12config.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
 extern void vp8_setup_intra_recon(YV12_BUFFER_CONFIG *ybf);
 extern void vp8_setup_intra_recon_top_line(YV12_BUFFER_CONFIG *ybf);
 
@@ -34,4 +38,8 @@ void setup_intra_recon_left(unsigned char *y_buffer,
         v_buffer[uv_stride *i] = (unsigned char) 129;
 }
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_SETUPINTRARECON_H_
index ea8977b10013b4096f97c43e1554a16b27337640..1d66cd3d62e61e6e19db5e8ef389b46d1159c63f 100644 (file)
 
 #include "vpx_scale/yv12config.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 void vp8_swap_yv12_buffer(YV12_BUFFER_CONFIG *new_frame, YV12_BUFFER_CONFIG *last_frame);
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_SWAPYV12BUFFER_H_
index 966cc5d8b9a6c5a981e326498212ebbbc45ca052..3d44e37cf24964551dc675dd4cad8ef8e1013c58 100644 (file)
 
 #include "vpx_config.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 struct VP8Common;
 void vp8_machine_specific_config(struct VP8Common *);
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_SYSTEMDEPENDENT_H_
index 8cf6d26bc46f742a89378199e91a65fffd039ebd..01c82dbb805b8fff75636bcb9ff8a464f4c95088 100644 (file)
 #ifndef VP8_COMMON_THREADING_H_
 #define VP8_COMMON_THREADING_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #if CONFIG_OS_SUPPORT && CONFIG_MULTITHREAD
 
 /* Thread management macros */
@@ -183,4 +187,8 @@ static inline int sem_destroy(sem_t * sem)
 
 #endif /* CONFIG_OS_SUPPORT && CONFIG_MULTITHREAD */
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_THREADING_H_
index edb4b57754934a5a754bbca5fc7c11eeb59a4f3d..d22b7c570cbea1549211a550433f923aa92f5cc0 100644 (file)
 #ifndef VP8_COMMON_TREECODER_H_
 #define VP8_COMMON_TREECODER_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 typedef unsigned char vp8bc_index_t; /* probability index */
 
 
@@ -87,4 +91,8 @@ void vp8bc_tree_probs_from_distribution(
 );
 
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_TREECODER_H_
index 12a03d0fb0ae173ff552843721f1e3b2278943b4..89a32a72268cabb2ae92746dde1e81dd948ba912 100644 (file)
 
 #include "vpx_config.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 typedef unsigned int(*vp8_sad_fn_t)(
     const unsigned char *src_ptr,
     int source_stride,
@@ -112,4 +116,8 @@ typedef struct variance_vtable
 #endif
 } vp8_variance_fn_ptr_t;
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_VARIANCE_H_
index 988114804f579b58de839f6cfb94dcd2f496f217..c4aed4989705cf4c101130c5ced03795df8a631f 100644 (file)
 #ifndef VP8_COMMON_VP8_ENTROPYMODEDATA_H_
 #define VP8_COMMON_VP8_ENTROPYMODEDATA_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /*Generated file, included by entropymode.c*/
 
 
@@ -243,4 +247,8 @@ const vp8_prob vp8_kf_bmode_prob
     }
 };
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_VP8_ENTROPYMODEDATA_H_
index 0d537d9df445a46d82013e3e63864ffd82df6647..d282841bee4d98a9696ad4eb198f60b155c8cb9d 100644 (file)
 
 #include "vpx_ports/mem.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* x86 assembly specific copy of vp8/common/filter.c:vp8_bilinear_filters with
  * duplicated values */
 
@@ -22,4 +26,8 @@ extern DECLARE_ALIGNED(16, const short, vp8_bilinear_filters_x86_4[8][8]);
 /* duplicated 8x */
 extern DECLARE_ALIGNED(16, const short, vp8_bilinear_filters_x86_8[8][16]);
 
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
 #endif  // VP8_COMMON_X86_FILTER_X86_H_