help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Video Package Installation for x86_64 (OS X)


From: Cihan Baran
Subject: Video Package Installation for x86_64 (OS X)
Date: Sun, 25 Dec 2011 21:25:35 +0200

Hello,

This is my first post on posting here and first real attempt at trying to build open-source software.

(1) For the last week or so, I've worked on compiling the video package for my Macbook Air that uses x86_64 architecture. I've managed to do this.
Now I want to share this knowledge so that other people don't run into this issue. Here are the two crucial things. 
(1.1) The newest version of ffmpeg 0.9 (well known unix tool for decoding and encoding) and AVIHandler.cc (source code from the octave video package) are incompatible. There are some function name changes and some enumerated type name definition changes. By googling around, I was able to exact the necessary changes. Here are the crucial links that gave clues about how to patch:

http://sage.ucsc.edu/fink_intel_10.6_64bit/10.6/stable/main/finkinfo/sci/video-oct.patch
http://ffmpeg.org/pipermail/ffmpeg-cvslog/2011-April/035929.html
https://code.ros.org/trac/opencv/attachment/ticket/1020/ffmpeg_build.patch

(1.2) It seems as if more changes may be needed, since I'm getting the following whenever I do aviread:
Using network protocols without global network initialization. Please use avformat_network_init(), this will become mandatory later.

(2) Also, it seems that mkoctfile simply ignores some OSX specific linker flags - it chokes saying it received unrecognized arguments whereas it should really be passing those to the linker. Specifically, I have in mind things like -framework CoreFoundation or -arch x86_64. In order to hack around this issue, I've added the following lines to the argument parsing section of the mkoctfile (v3.2.4 since I compiled my Octave from Mac Ports):

-framework | CoreFoundation | VideoDecodeAcceleration | QuartzCore)
      ldflags="$ldflags $1"
;;
This resolved both my issues for installing the image package and the video package. Nonetheless, we should have a way to figure out an exhaustive list of platform specific compiler flags, so that someone doesn't run into a similar issue again for whatever platform they are using. 

(Or maybe it's just the way that OSX specific linker flags are passed in a nonstandard way -instead of the anticipated -[lLR]* | -Wl,* and hence Apple is really to blame.) 

I'm happy to pass on this knowledge to whoever maintains the video package. I just couldn't figure it out how to do this. 

Finally, thanks to everyone who contributes and volunteers to the Octave project. 

Regards, 
Cihan

reply via email to

[Prev in Thread] Current Thread [Next in Thread]