Commit 0940c9cf authored by James Zern's avatar James Zern

vp9/common: add extern "C" to headers

Change-Id: Ic334da9aee968e33762c2b25d9fbad24c844b411
parent 513fae3e
......@@ -17,6 +17,10 @@
#include "vpx/vpx_integer.h"
#include "vp9/common/vp9_common.h"
#ifdef __cplusplus
extern "C" {
#endif
#if HAVE_DSPR2
#define CROP_WIDTH 512
extern uint8_t *vp9_ff_cropTbl;
......@@ -114,4 +118,8 @@ void vp9_convolve2_vert_dspr2(const uint8_t *src, ptrdiff_t src_stride,
int w, int h);
#endif // #if HAVE_DSPR2
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_MIPS_DSPR2_VP9_COMMON_DSPR2_H_
......@@ -17,6 +17,10 @@
#include "vp9/common/vp9_common.h"
#include "vp9/common/vp9_onyxc_int.h"
#ifdef __cplusplus
extern "C" {
#endif
#if HAVE_DSPR2
/* inputs & outputs are quad-byte vectors */
static INLINE void vp9_filter_dspr2(uint32_t mask, uint32_t hev,
......@@ -752,4 +756,8 @@ static INLINE void vp9_wide_mbfilter_dspr2(uint32_t *op7, uint32_t *op6,
*oq6 = res_oq6;
}
#endif // #if HAVE_DSPR2
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_MIPS_DSPR2_VP9_LOOPFILTER_FILTERS_DSPR2_H_
......@@ -17,6 +17,10 @@
#include "vp9/common/vp9_common.h"
#include "vp9/common/vp9_onyxc_int.h"
#ifdef __cplusplus
extern "C" {
#endif
#if HAVE_DSPR2
#define STORE_F0() { \
__asm__ __volatile__ ( \
......@@ -467,4 +471,8 @@
}
#endif // #if HAVE_DSPR2
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_MIPS_DSPR2_VP9_LOOPFILTER_MACROS_DSPR2_H_
......@@ -17,6 +17,10 @@
#include "vp9/common/vp9_common.h"
#include "vp9/common/vp9_onyxc_int.h"
#ifdef __cplusplus
extern "C" {
#endif
#if HAVE_DSPR2
/* processing 4 pixels at the same time
* compute hev and mask in the same function */
......@@ -362,4 +366,8 @@ static INLINE void vp9_flatmask5(uint32_t p4, uint32_t p3,
*flat2 = flat1;
}
#endif // #if HAVE_DSPR2
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_MIPS_DSPR2_VP9_LOOPFILTER_MASKS_DSPR2_H_
......@@ -14,6 +14,10 @@
#include "vp9/common/vp9_onyxc_int.h"
#ifdef __cplusplus
extern "C" {
#endif
void vp9_initialize_common();
void vp9_update_mode_info_border(VP9_COMMON *cm, MODE_INFO *mi);
......@@ -28,4 +32,8 @@ void vp9_free_frame_buffers(VP9_COMMON *cm);
void vp9_update_frame_size(VP9_COMMON *cm);
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_ALLOCCOMMON_H_
......@@ -25,6 +25,10 @@
#include "vp9/common/vp9_scale.h"
#include "vp9/common/vp9_seg_common.h"
#ifdef __cplusplus
extern "C" {
#endif
#define BLOCK_SIZE_GROUPS 4
#define MBSKIP_CONTEXTS 3
#define INTER_MODE_CONTEXTS 7
......@@ -463,4 +467,8 @@ static int get_tx_eob(const struct segmentation *seg, int segment_id,
return vp9_segfeature_active(seg, segment_id, SEG_LVL_SKIP) ? 0 : eob_max;
}
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_BLOCKD_H_
......@@ -19,6 +19,10 @@
#include "vpx_mem/vpx_mem.h"
#include "vpx/vpx_integer.h"
#ifdef __cplusplus
extern "C" {
#endif
#define MIN(x, y) (((x) < (y)) ? (x) : (y))
#define MAX(x, y) (((x) > (y)) ? (x) : (y))
......@@ -91,4 +95,8 @@ static int get_unsigned_bits(unsigned int num_values) {
#define VP9_FRAME_MARKER 0x2
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_COMMON_H_
......@@ -13,6 +13,10 @@
#include "vp9/common/vp9_enums.h"
#ifdef __cplusplus
extern "C" {
#endif
extern const int b_width_log2_lookup[BLOCK_SIZES];
extern const int b_height_log2_lookup[BLOCK_SIZES];
extern const int mi_width_log2_lookup[BLOCK_SIZES];
......@@ -28,4 +32,8 @@ extern const TX_SIZE max_txsize_lookup[BLOCK_SIZES];
extern const TX_SIZE tx_mode_to_biggest_tx_size[TX_MODES];
extern const BLOCK_SIZE ss_size_lookup[BLOCK_SIZES][2][2];
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_COMMON_DATA_H_
......@@ -13,10 +13,18 @@
#include "./vpx_config.h"
#include "vpx/vpx_integer.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef void (*convolve_fn_t)(const uint8_t *src, ptrdiff_t src_stride,
uint8_t *dst, ptrdiff_t dst_stride,
const int16_t *filter_x, int x_step_q4,
const int16_t *filter_y, int y_step_q4,
int w, int h);
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_CONVOLVE_H_
......@@ -18,6 +18,10 @@
#include "vp9/common/vp9_scan.h"
#include "vp9/common/vp9_entropymode.h"
#ifdef __cplusplus
extern "C" {
#endif
#define DIFF_UPDATE_PROB 252
// Coefficient token alphabet
......@@ -184,4 +188,8 @@ static const scan_order *get_scan(const MACROBLOCKD *xd, TX_SIZE tx_size,
}
}
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_ENTROPY_H_
......@@ -13,6 +13,10 @@
#include "vp9/common/vp9_blockd.h"
#ifdef __cplusplus
extern "C" {
#endif
#define TX_SIZE_CONTEXTS 2
#define SWITCHABLE_FILTERS 3 // number of switchable filters
#define SWITCHABLE_FILTER_CONTEXTS (SWITCHABLE_FILTERS + 1)
......@@ -57,4 +61,8 @@ void tx_counts_to_branch_counts_16x16(const unsigned int *tx_count_16x16p,
void tx_counts_to_branch_counts_8x8(const unsigned int *tx_count_8x8p,
unsigned int (*ct_8x8p)[2]);
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_ENTROPYMODE_H_
......@@ -15,6 +15,10 @@
#include "./vpx_config.h"
#include "vp9/common/vp9_blockd.h"
#ifdef __cplusplus
extern "C" {
#endif
struct VP9Common;
void vp9_init_mv_probs(struct VP9Common *cm);
......@@ -121,4 +125,8 @@ typedef struct {
void vp9_inc_mv(const MV *mv, nmv_context_counts *mvctx);
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_ENTROPYMV_H_
......@@ -13,6 +13,10 @@
#include "./vpx_config.h"
#ifdef __cplusplus
extern "C" {
#endif
#define MI_SIZE_LOG2 3
#define MI_BLOCK_SIZE_LOG2 (6 - MI_SIZE_LOG2) // 64 = 2^6
......@@ -90,4 +94,8 @@ typedef enum {
SRGB = 7 // RGB
} COLOR_SPACE;
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_ENUMS_H_
......@@ -14,6 +14,10 @@
#include "./vpx_config.h"
#include "vpx/vpx_integer.h"
#ifdef __cplusplus
extern "C" {
#endif
#define FILTER_BITS 7
#define SUBPEL_BITS 4
......@@ -48,4 +52,8 @@ extern const subpel_kernel vp9_sub_pel_filters_8lp[SUBPEL_SHIFTS];
#define BILINEAR_FILTERS_2TAP(x) \
(vp9_bilinear_filters[(x)] + SUBPEL_TAPS/2 - 1)
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_FILTER_H_
......@@ -18,6 +18,10 @@
#include "vp9/common/vp9_common.h"
#include "vp9/common/vp9_enums.h"
#ifdef __cplusplus
extern "C" {
#endif
// Constants and Macros used by all idct/dct functions
#define DCT_CONST_BITS 14
......@@ -103,4 +107,8 @@ void vp9_iht16x16_add(TX_TYPE tx_type, const int16_t *input, uint8_t *dest,
int stride, int eob);
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_IDCT_H_
......@@ -17,6 +17,10 @@
#include "vp9/common/vp9_blockd.h"
#include "vp9/common/vp9_seg_common.h"
#ifdef __cplusplus
extern "C" {
#endif
#define MAX_LOOP_FILTER 63
#define MAX_SHARPNESS 7
......@@ -90,4 +94,8 @@ typedef struct LoopFilterWorkerData {
// Operates on the rows described by LFWorkerData passed as 'arg1'.
int vp9_loop_filter_worker(void *arg1, void *arg2);
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_LOOPFILTER_H_
......@@ -15,6 +15,10 @@
#include "vp9/common/vp9_common.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct mv {
int16_t row;
int16_t col;
......@@ -36,4 +40,8 @@ static void clamp_mv(MV *mv, int min_col, int max_col,
mv->row = clamp(mv->row, min_row, max_row);
}
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_MV_H_
......@@ -7,12 +7,16 @@
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef VP9_COMMON_VP9_MVREF_COMMON_H_
#define VP9_COMMON_VP9_MVREF_COMMON_H_
#include "vp9/common/vp9_onyxc_int.h"
#include "vp9/common/vp9_blockd.h"
#ifndef VP9_COMMON_VP9_MVREF_COMMON_H_
#define VP9_COMMON_VP9_MVREF_COMMON_H_
#ifdef __cplusplus
extern "C" {
#endif
void vp9_find_mv_refs_idx(const VP9_COMMON *cm, const MACROBLOCKD *xd,
const TileInfo *const tile,
......@@ -56,4 +60,8 @@ void vp9_append_sub8x8_mvs_for_idx(VP9_COMMON *cm, MACROBLOCKD *xd,
int block, int ref, int mi_row, int mi_col,
int_mv *nearest, int_mv *near);
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_MVREF_COMMON_H_
......@@ -11,17 +11,16 @@
#ifndef VP9_COMMON_VP9_ONYX_H_
#define VP9_COMMON_VP9_ONYX_H_
#ifdef __cplusplus
extern "C"
{ // NOLINT
#endif
#include "./vpx_config.h"
#include "vpx/internal/vpx_codec_internal.h"
#include "vpx/vp8cx.h"
#include "vpx_scale/yv12config.h"
#include "vp9/common/vp9_ppflags.h"
#ifdef __cplusplus
extern "C" {
#endif
#define MAX_SEGMENTS 8
typedef int *VP9_PTR;
......@@ -237,7 +236,7 @@ extern "C"
int vp9_get_quantizer(VP9_PTR c);
#ifdef __cplusplus
}
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_ONYX_H_
......@@ -25,6 +25,10 @@
#include "vp9/common/vp9_postproc.h"
#endif
#ifdef __cplusplus
extern "C" {
#endif
#define REFS_PER_FRAME 3
#define REF_FRAMES_LOG2 3
......@@ -359,4 +363,8 @@ static INLINE int partition_plane_context(
return (left * 2 + above) + bsl * PARTITION_PLOFFSET;
}
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_ONYXC_INT_H_
......@@ -15,6 +15,10 @@
#include "vpx_ports/mem.h"
#include "vp9/common/vp9_ppflags.h"
#ifdef __cplusplus
extern "C" {
#endif
struct postproc_state {
int last_q;
int last_noise;
......@@ -33,4 +37,8 @@ void vp9_denoise(const YV12_BUFFER_CONFIG *src, YV12_BUFFER_CONFIG *dst, int q);
void vp9_deblock(const YV12_BUFFER_CONFIG *src, YV12_BUFFER_CONFIG *dst, int q);
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_POSTPROC_H_
......@@ -11,6 +11,10 @@
#ifndef VP9_COMMON_VP9_PPFLAGS_H_
#define VP9_COMMON_VP9_PPFLAGS_H_
#ifdef __cplusplus
extern "C" {
#endif
enum {
VP9D_NOFILTERING = 0,
VP9D_DEBLOCK = 1 << 0,
......@@ -35,4 +39,8 @@ typedef struct {
int display_mv_flag;
} vp9_ppflags_t;
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_PPFLAGS_H_
......@@ -11,6 +11,10 @@
#ifndef VP9_COMMON_VP9_PRAGMAS_H_
#define VP9_COMMON_VP9_PRAGMAS_H_
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __INTEL_COMPILER
#pragma warning(disable:997 1011 170)
#endif
......@@ -19,4 +23,8 @@
#pragma warning(disable:4799)
#endif
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_PRAGMAS_H_
......@@ -14,6 +14,10 @@
#include "vp9/common/vp9_blockd.h"
#include "vp9/common/vp9_onyxc_int.h"
#ifdef __cplusplus
extern "C" {
#endif
static INLINE const MODE_INFO *get_above_mi(const MACROBLOCKD *const xd) {
return xd->up_available ? xd->mi_8x8[-xd->mode_info_stride] : NULL;
}
......@@ -129,4 +133,8 @@ static unsigned int *get_tx_counts(TX_SIZE max_tx_size, int ctx,
}
}
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_PRED_COMMON_H_
......@@ -18,6 +18,10 @@
#include "vp9/common/vp9_common.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef uint8_t vp9_prob;
#define MAX_PROB 255
......@@ -109,4 +113,8 @@ static void tree_merge_probs(const vp9_tree_index *tree,
DECLARE_ALIGNED(16, extern const uint8_t, vp9_norm[256]);
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_PROB_H_
......@@ -13,6 +13,10 @@
#include "vp9/common/vp9_blockd.h"
#ifdef __cplusplus
extern "C" {
#endif
#define MINQ 0
#define MAXQ 255
#define QINDEX_RANGE (MAXQ - MINQ + 1)
......@@ -25,4 +29,8 @@ int16_t vp9_ac_quant(int qindex, int delta);
int vp9_get_qindex(struct segmentation *seg, int segment_id, int base_qindex);
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_QUANT_COMMON_H_
......@@ -14,6 +14,10 @@
#include "vpx/vpx_integer.h"
#include "vp9/common/vp9_onyxc_int.h"
#ifdef __cplusplus
extern "C" {
#endif
struct subpix_fn_table;
void vp9_build_inter_predictors_sby(MACROBLOCKD *xd, int mi_row, int mi_col,
BLOCK_SIZE bsize);
......@@ -96,4 +100,8 @@ static void set_scale_factors(VP9_COMMON *cm, MACROBLOCKD *xd,
xd->block_refs[1] = &cm->frame_refs[ref1 >= 0 ? ref1 : 0];
}
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_RECONINTER_H_
......@@ -14,9 +14,17 @@
#include "vpx/vpx_integer.h"
#include "vp9/common/vp9_blockd.h"
#ifdef __cplusplus
extern "C" {
#endif
void vp9_predict_intra_block(const MACROBLOCKD *xd, int block_idx, int bwl_in,
TX_SIZE tx_size, int mode,
const uint8_t *ref, int ref_stride,
uint8_t *dst, int dst_stride,
int aoff, int loff, int plane);
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_RECONINTRA_H_
......@@ -14,6 +14,10 @@
#include "vp9/common/vp9_mv.h"
#include "vp9/common/vp9_convolve.h"
#ifdef __cplusplus
extern "C" {
#endif
#define REF_SCALE_SHIFT 14
#define REF_NO_SCALE (1 << REF_SCALE_SHIFT)
#define REF_INVALID_SCALE -1
......@@ -46,4 +50,8 @@ static int vp9_is_scaled(const struct scale_factors *sf) {
sf->y_scale_fp != REF_NO_SCALE;
}
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_SCALE_H_
......@@ -17,6 +17,10 @@
#include "vp9/common/vp9_enums.h"
#include "vp9/common/vp9_blockd.h"
#ifdef __cplusplus
extern "C" {
#endif
#define MAX_NEIGHBORS 2
void vp9_init_neighbors();
......@@ -36,4 +40,8 @@ static INLINE int get_coef_context(const int16_t *neighbors,
token_cache[neighbors[MAX_NEIGHBORS * c + 1]]) >> 1;
}
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_SCAN_H_
......@@ -13,6 +13,10 @@
#include "vp9/common/vp9_prob.h"
#ifdef __cplusplus
extern "C" {
#endif
#define SEGMENT_DELTADATA 0
#define SEGMENT_ABSDATA 1
......@@ -70,5 +74,9 @@ int vp9_get_segdata(const struct segmentation *seg,
extern const vp9_tree_index vp9_segment_tree[TREE_SIZE(MAX_SEGMENTS)];
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_SEG_COMMON_H_
......@@ -11,6 +11,10 @@
#ifndef VP9_COMMON_VP9_SYSTEMDEPENDENT_H_
#define VP9_COMMON_VP9_SYSTEMDEPENDENT_H_
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _MSC_VER
#include <math.h>
#define snprintf _snprintf
......@@ -72,4 +76,8 @@ static INLINE int get_msb(unsigned int n) {
struct VP9Common;
void vp9_machine_specific_config(struct VP9Common *cm);
#ifdef __cplusplus
} // extern "C"
#endif
#endif // VP9_COMMON_VP9_SYSTEMDEPENDENT_H_
......@@ -11,9 +11,17 @@
#ifndef VP9_COMMON_VP9_TEXTBLIT_H_
#define VP9_COMMON_VP9_TEXTBLIT_H_
#ifdef __cplusplus
extern "C" {
#endif
void vp9_blit_text(const char *msg, unsigned char *address, int pitch);
void vp9_blit_line(int x0, int x1, int y0, int y1, unsigned char *image,
int pitch);
#ifdef __cplusplus
} // extern "C"