[FFmpeg-devel] [PATCH 3/3] two functions were declared inline but were referenced elsewhere

Michael Niedermayer michaelni at gmx.at
Wed Jun 13 01:34:16 CEST 2012


On Mon, Jun 11, 2012 at 11:07:30PM +0200, J. Bohl wrote:
> Hi,
> 
> in motion_est_template.c I found two functions, which are declared
> inline but are referenced in a different compilation unit (snowenc.c
> namely). This gives me a linker error (with ICL12.1 on Windows).
> The simplest solution seems to remove the inline declaration - please
> find the attached patch doing so.

iam a bit affraid this could cause a slowdown. did you check what
effect this change has on compilers supporting the code currently ?


> 
> >PS: a windows intel compiler FATE client would be welcome, that way we
> also would notice immedeatlly when 
> >something breaks for windows-icc
> 
> Yes, this is something I will definitely look into. Meanwhile, there are
> quite a few other changes I had to make in order to compile the code
> with ICL12.1, mainly related to AT&T inline assembly. The Intel
> compiler's support for AT&T-inline-assembly is not really complete
> compared to GCC, foremost it is lacking the ability to reference
> external symbols in assembly code. I had to turn all external references
> into passing the addresses as input registers ("m"). However, this
> worked out ok and all code compiles flawless now (and works, at least as
> far as my testing goes).
> I am not sure whether these changes are of interest here.

changing all MANGLE() to "m" will break compilation on several
compilers


> 
> Another issue was that (false) conditionals with compile-time constants
> are not discarded before link-time, i.e. statements like
> 
>     if (ARCH_ARM) ff_vp56dsp_init_arm(s, codec);
> 
> result in a linker error. I do not know of a better solution than using
> the pre-processor in these cases.

isnt icc able to optimize this out with some command line switches ?
under linux ICC is able to do such elimination of calls ...
if it really doesnt work its maybe worth to report to intel if it hasnt
been reported yet. Intel is likely interrested to improve ICCs dead
code elimination.

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

There will always be a question for which you do not know the correct awnser.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20120613/28439727/attachment.asc>


More information about the ffmpeg-devel mailing list