From 0719e44b58dbc7d93db4c46b875d5aecb5c7306b Mon Sep 17 00:00:00 2001 From: "J. Bohl" Date: Thu, 14 Jun 2012 23:09:52 +0200 Subject: [PATCH] new attribute "extern inline" (fixing linker error with ff_get_mb_score and ff_get_mb_score) Signed-off-by: Michael Niedermayer --- libavcodec/motion_est_template.c | 4 ++-- libavutil/attributes.h | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/libavcodec/motion_est_template.c b/libavcodec/motion_est_template.c index b7b7b6d521..d81bed83aa 100644 --- a/libavcodec/motion_est_template.c +++ b/libavcodec/motion_est_template.c @@ -162,7 +162,7 @@ static int no_sub_motion_search(MpegEncContext * s, return dmin; } -inline int ff_get_mb_score(MpegEncContext * s, int mx, int my, int src_index, +av_extern_inline int ff_get_mb_score(MpegEncContext * s, int mx, int my, int src_index, int ref_index, int size, int h, int add_rate) { // const int check_luma= s->dsp.me_sub_cmp != s->dsp.mb_cmp; @@ -974,7 +974,7 @@ static av_always_inline int epzs_motion_search_internal(MpegEncContext * s, int } //this function is dedicated to the braindamaged gcc -inline int ff_epzs_motion_search(MpegEncContext * s, int *mx_ptr, int *my_ptr, +av_extern_inline int ff_epzs_motion_search(MpegEncContext * s, int *mx_ptr, int *my_ptr, int P[10][2], int src_index, int ref_index, int16_t (*last_mv)[2], int ref_mv_scale, int size, int h) { diff --git a/libavutil/attributes.h b/libavutil/attributes.h index 0a6fda172b..d517fdf49d 100644 --- a/libavutil/attributes.h +++ b/libavutil/attributes.h @@ -40,6 +40,14 @@ #endif #endif +#ifndef av_extern_inline +#if defined(__INTEL_COMPILER) || defined(__GNUC_STDC_INLINE__) +# define av_extern_inline extern inline +#else +# define av_extern_inline inline +#endif +#endif + #ifndef av_noreturn #if AV_GCC_VERSION_AT_LEAST(2,5) # define av_noreturn __attribute__((noreturn)) -- GitLab