new attribute "extern inline" (fixing linker error with ff_get_mb_score and ff_get_mb...
authorJ. Bohl <jbohl@h-quer.de>
Thu, 14 Jun 2012 21:09:52 +0000 (23:09 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 15 Jun 2012 01:14:07 +0000 (03:14 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/motion_est_template.c
libavutil/attributes.h

index b7b7b6d..d81bed8 100644 (file)
@@ -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)
 {
index 0a6fda1..d517fdf 100644 (file)
 #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))