Dean Ashby wrote:
Hi,

I'm getting the following compilation error when building Cinelerra
CV from an up-to-date git repository.  I'm using Raffa's instructions for
building but getting the following errors:

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I../libmpeg3
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
-DHAVE_MMX -DUSE_MMX -DX86_CPU -DHAVE_FIREWIRE -I/usr/include/mjpegtools
-I/usr/include/mjpegtools/mpeg2enc -I/usr/include/mjpegtools/mplex
-DENCORE_INCLUDE=\"encore50/encore.h\" -I../quicktime/ffmpeg -g -O2 -MT
qth264.lo -MD -MP -MF .deps/qth264.Tpo -c qth264.c -o

.libs/qth264.o
qth264.c: In function ‘encode’:
qth264.c:245: warning: passing argument 1 of ‘x264_nal_encode’ from
incompatible pointer type
/usr/include/x264.h:456: note: expected ‘struct x264_t *’ but argument
is of type ‘unsigned char *’
qth264.c:245: warning: passing argument 2 of ‘x264_nal_encode’ from
incompatible pointer type
/usr/include/x264.h:456: note: expected ‘uint8_t *’ but argument is of
type ‘int *’
qth264.c:245: warning: passing argument 3 of ‘x264_nal_encode’ makes
pointer from integer without a cast
/usr/include/x264.h:456: note: expected ‘struct x264_nal_t *’ but
argument is of type ‘int’
qth264.c:245: error: too many arguments to function ‘x264_nal_encode’
qth264.c:245: error: void value not ignored as it ought to be

I'm building on a Debian testing distribution with
http://www.debian-multimedia.org/ included
in my apt sources.  I've got the following libx264 related packages
installed:

# dpkg -l | fgrep 264
ii  libx264-104     1:0.svn20100726-0.0       x264 video coding library
ii  libx264-98      1:0.svn20100620-0.1       x264 video coding library
ii  libx264-dev     1:0.svn20100726-0.0       development files for libx264


/usr/include/x264.h definitely seems to be be build 104 as it has the
following symbol defined on line 38:

#define X264_BUILD 104

And the library is 104 as well:

# ls -l /usr/lib/libx264.so
lrwxrwxrwx 1 root root 14 Aug  7 08:57 /usr/lib/libx264.so -> libx264.so.104


My guess is I've got the wrong version of libx264 installed.
Any suggestions as to which version should I be using and where
can I get it?

That would be a good guess. x264 had a major API change at version 76 that is not compatible with the current official Cinelerra-CV git tree.

You can get version 75 at:

ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
x264-snapshot-20090922-2245.tar.bz2

On a related note, using --with-external-ffmpeg requires ffmpeg version <=0.5.2, and it must be compiled with --enable-swscale.


It would have saved me a lot of time had this been documented somewhere.
Below is a patch for README.BUILD if someone would like to apply it.


 ---------------- begin patch -----------------------
--- README.BUILD        2010-07-18 23:03:22.000000000 -0400
+++ README.BUILD.new    2010-08-14 12:50:24.000000000 -0400
@@ -52,7 +52,7 @@
        - libfreetype (>=2.1.4)
         - mjpegtools
         - OpenEXR
-        - x264
+        - x264  (<=75  x264-snapshot-20090922-2245)
        - xlib-dev
        - gettext

@@ -60,6 +60,10 @@
        - automake 1.7
        - autoconf
        - libtool
+
+Using --with-external-ffmpeg requires ffmpeg version <=0.5.2,
+and it must be compiled with --enable-swscale (and many other
+options depending on your system).

 The others are maybe part of your distrib. If they aren't,
 you can find most of them on ftp://ftp.nerim.net/debian-marillat/
 ----------------- end patch -----------------------

Bo


_______________________________________________
Cinelerra mailing list
[email protected]
https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra

Reply via email to