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

J. Bohl jbohl at jbohl.de
Mon Jun 11 23:07:30 CEST 2012


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.

>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.

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.

If you see any chance of getting these (somewhat intrusive) changes into
the codebase I would be glad to help. My primary goal was to be able to
debug and step through ffmpeg in VisualStudio which I have now achieved.
 
Regards,

Juergen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-two-functions-were-declared-inline-but-were-referenc.patch
Type: application/octet-stream
Size: 1423 bytes
Desc: 0003-two-functions-were-declared-inline-but-were-referenc.patch
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20120611/7b8b1a14/attachment.obj>


More information about the ffmpeg-devel mailing list