[osg-users] Problem compiling latest trunk, ffmpeg problem

Robert Osfield robert.osfield at gmail.com
Mon Mar 2 05:09:25 PST 2009

Hi J.P,

On Mon, Mar 2, 2009 at 12:34 PM, J.P. Delport <jpdelport at csir.co.za> wrote:
> The one I compiled with LGPL only, has the sws functions in libavcodec.so.
> nm ./libavcodec/libavcodec.so | grep sws
> 0008c1b0 T sws_freeContext
> 0008d1f0 T sws_getCachedContext
> 0008d0f0 T sws_getContext
> 0008caf0 T sws_scale

I just updated my ffmpeg to latest in svn and it defines the above
methods, but doesn't declare them in the headers.

> This is going to depend a lot on what the repositories compile by default. I
> know the debian ones from http://www.debian-multimedia.org/ has swscaler
> compiled in by default. So has the ubuntu packages if I remember correctly.
> A guy here that uses gentoo does not have swscale, but has the lgpl version.
> To cover everything we would need to check:
> if (img_resample available) {
>        use it (Tanguys code)
>        do not link to swscale
> } else {
>        use swscale
>        if (swscale in libavcodec) {
>                do not link to swscale
>        } else {
>                link to swscale
>        }
> }

Ack... a pretty horrible matrix to test/build against.

> One gotcha, we need the swscale header to be installed even in libswscale is
> not installed. The header is LGPL tho.

I tried to compile ffmpeg with libswscale but it wouldn't build it
without it --enable-gpl, and without this when I do an install the
libswscale headers are not installed.  I could copy the header across
by hand but this really isn't a viable solution for end users of the

I guess we could declare the missing functions on the OSG side - if
the ffmpeg has these functions built into it, this is rather asking
for a build break though.

I'm tempted to just go implement the conversion colour conversion
ourselves, and provide a simple CPU based conversion that is
relatively inefficient but at least works on all ffmpeg versions


More information about the osg-users mailing list