Thank you Nicola,
the patch permit the "make" command to finish good in the cinelerra
directory. Now I've got the cinelerra executable and it runs good (but I
haven't try it with video manipulation, just run it; I'll do video's
test later).
I joined the patch I used.
I'll continue the tests.
Thank you again
Note : I use Xubuntu 11.04, Ubuntu 10.04
Le 23/07/2011 19:59, Nicola Ferralis a écrit :
As I mentioned in my previous reply (I think...) you can adapt the
patch for Cinelerra 2.1.5 to make it work with Cinelerra 4.2...
See here:
http://www.mail-archive.com/[email protected]/msg12641.html
or the file attached (again, keep in mind that it's for Cinelerra
2.1.5, so you might need to manually modify/apply the patch).
Nicola
------------------------------------------------------------------------
From: [email protected]
To: [email protected]
Subject: Re : [CinCV] Ubuntu and cinelerra 4.2
Date: Sat, 23 Jul 2011 08:30:20 +0400
Hi, I'm back and there's another problem at the "make" stage :
in the cinelerra directory, "make" finished with an error :
make[2]: entrant dans le répertoire «
/home/laurent/Téléchargements/cinelerra-4.2/cinelerra »
g++ -c `cat i686/c_flags` vdevicebuz.C -o i686/vdevicebuz.o
vdevicebuz.C:48:28: fatal error: linux/videodev.h: Aucun fichier ou
dossier de ce type
compilation terminated.
make[2]: *** [i686/vdevicebuz.o] Erreur 1
make[2]: quittant le répertoire «
/home/laurent/Téléchargements/cinelerra-4.2/cinelerra »
It seems to be the same problem like the mjpegtools : the lack of
linux/videodev.h in the last kernel (for mjpegtools I found a patch to
solve the problem).
Any issues for this last error?
The result is that there's no cinelerra executable after the "make
command".
Le 20/07/2011 19:54, Laurent HOAREAU a écrit :
OK Nicola,
I tried the replace solution and the "make step" finished fine. I
don't try the "make install" step because I try to make it whith
"checkinstall"...
Le 20/07/2011 09:07, Nicola Ferralis a écrit :
Or you can also follow the suggestion of a simpler method, in
comment #4, from the same link I posted previously. (I would
still recommend the replacement of the library as it provides
a compilation against a much newer library).
Nicola
------------------------------------------------------------------------
From: [email protected] <mailto:[email protected]>
To: [email protected] <mailto:[email protected]>
Subject: RE: Re : [CinCV] Ubuntu and cinelerra 4.2
Date: Tue, 19 Jul 2011 22:03:40 -0700
The issue is within the version of faad2 included in Cinelerra
4.2, which is obsolete. I had success in the past by simply
drop replacement of faad (in the folder you reported) using a
more recent version. To make it work, however, I had to rename
the folder as the old one, faad2-2.0.
More details and howto here (comment #5):
http://sourceforge.net/tracker/index.php?func=detail&aid=2944664&group_id=13554&atid=113554
<http://sourceforge.net/tracker/index.php?func=detail&aid=2944664&group_id=13554&atid=113554>
Also note that the issue, apparently, is only present in the
32bit version of Ubuntu, 64bit is fine. Also this is not an
issue for Ubuntu but also for other distros.
I hope it helps.
Nicola
------------------------------------------------------------------------
From: [email protected] <mailto:[email protected]>
Subject: Re : [CinCV] Ubuntu and cinelerra 4.2
To: [email protected] <mailto:[email protected]>
Date: Wed, 20 Jul 2011 05:26:09 +0100
I tried to install the 4.2 version on Ubuntu 10.04. But I've
got errors at the "make".
I think that I have the good dependencies. In facts, I
followed these instructions :
http://sideways.bplaced.net/en/sachkunde/cinelerra-4-2-unter-ubuntu-kompilieren/
I make the modifications at the file
|cinelerra-4.2/quicktime/thirdparty/faad2-2.0/libfaad/common.h.|
But I still have problems :
if /bin/bash ../../libtool --mode=compile g++ -DHAVE_CONFIG_H
-I. -I. -I../.. -I../../include -D_REENTRANT -DNOCONTROLS
-fexceptions -g -O2 -MT faad2.lo -MD -MP -MF
".deps/faad2.Tpo" -c -o faad2.lo faad2.cpp; \
then mv -f ".deps/faad2.Tpo" ".deps/faad2.Plo"; else rm -f
".deps/faad2.Tpo"; exit 1; fi
g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include
-D_REENTRANT -DNOCONTROLS -fexceptions -g -O2 -MT faad2.lo -MD
-MP -MF .deps/faad2.Tpo -c faad2.cpp -fPIC -DPIC -o .libs/faad2.o
In file included from faad2.cpp:21:
faad2.h:28:26: error: codec_plugin.h: No such file or directory
faad2.cpp:22:32: error: mpeg4_audio_config.h: No such file or
directory
faad2.cpp:23:23: error: mpeg4_sdp.h: No such file or directory
In file included from faad2.cpp:21:
faad2.h:36: error: 'codec_data_t' does not name a type
faad2.h:37: error: ISO C++ forbids declaration of
'audio_vft_t' with no type
faad2.h:37: error: expected ';' before '*' token
faad2.h:55: error: ISO C++ forbids declaration of 'FILE' with
no type
faad2.h:55: error: expected ';' before '*' token
faad2.h:70: error: variable or field 'aac_close' declared void
faad2.h:70: error: 'codec_data_t' was not declared in this scope
faad2.h:70: error: 'ptr' was not declared in this scope
faad2.h:73: error: expected constructor, destructor, or type
conversion before '*' token
faad2.h:82: error: 'codec_data_t' was not declared in this scope
faad2.h:82: error: 'ifptr' was not declared in this scope
faad2.h:83: error: expected primary-expression before '*' token
faad2.h:83: error: 'buffer' was not declared in this scope
faad2.h:84: error: expected primary-expression before '*' token
faad2.h:84: error: 'ts' was not declared in this scope
faad2.h:84: error: initializer expression list treated as
compound expression
faad2.h:85: error: 'codec_data_t' was not declared in this scope
faad2.h:85: error: 'ifptr' was not declared in this scope
faad2.h:87: error: variable or field 'aac_file_used_for_frame'
declared void
faad2.h:87: error: 'codec_data_t' was not declared in this scope
faad2.h:87: error: 'ifptr' was not declared in this scope
faad2.h:88: error: expected primary-expression before 'bytes'
faad2.h:90: error: 'codec_data_t' was not declared in this scope
faad2.h:90: error: 'ifptr' was not declared in this scope
faad2.h:91: error: expected primary-expression before 'ts'
faad2.h:91: error: initializer expression list treated as
compound expression
faad2.cpp:38: error: expected initializer before '*' token
make[6]: *** [faad2.lo] Erreur 1
make[6]: quittant le répertoire «
/home/laurenth/Téléchargements/cinelerra-4.2/quicktime/thirdparty/faad2-2.0/plugins/mpeg4ip
»
make[5]: *** [all-recursive] Erreur 1
make[5]: quittant le répertoire «
/home/laurenth/Téléchargements/cinelerra-4.2/quicktime/thirdparty/faad2-2.0/plugins
»
make[4]: *** [all-recursive] Erreur 1
make[4]: quittant le répertoire «
/home/laurenth/Téléchargements/cinelerra-4.2/quicktime/thirdparty/faad2-2.0
»
make[3]: *** [all] Erreur 2
make[3]: quittant le répertoire «
/home/laurenth/Téléchargements/cinelerra-4.2/quicktime/thirdparty/faad2-2.0
»
make[2]: *** [i686/faad] Erreur 2
make[2]: quittant le répertoire «
/home/laurenth/Téléchargements/cinelerra-4.2/quicktime »
make[1]: *** [all] Erreur 2
make[1]: quittant le répertoire «
/home/laurenth/Téléchargements/cinelerra-4.2 »
make: *** [all] Erreur 2
laurenth@RESIR9-U:~/Téléchargements/cinelerra-4.2$ ^C
laurenth@RESIR9-U:~/Téléchargements/cinelerra-4.2$
and effectively, no codec_plugin.h anywhere...
So, where can I find this file? Is it a problem of dependencies?
I tried to install the devel libraries that cinelerra tried to
compile. But no success...
Any Ideas?
------------------------------------------------------------------------
*De :* Nicola Ferralis <[email protected]>
<mailto:[email protected]>
*À :* [email protected] <mailto:[email protected]>
*Envoyé le :* Mer 20 juillet 2011, 7h 48min 05s
*Objet :* RE: [CinCV] Ubuntu and cinelerra 4.2
If you have the correct dependencies installed, Cinelerra 4.2
installs fine on 10.04 (as well as 10.10). It doesn't,
however, if you run 11.04, due to some changes in the kernel.
While a patch for Cinelerra-CV 2.1.5:
https://launchpad.net/~cinelerra-ppa/+archive/ppa
<https://launchpad.net/%7Ecinelerra-ppa/+archive/ppa>
I haven't ported it to 4.2. It's in my plans. However,
currently the lack of access to Natty 11.04 will prevent me
from doing so for a while.
Nicola
<rant>
Apologies for the rant that follows. I am still running 10.10
in my laptop, as 11.04 is horribly buggy and essentially
unusable in my laptop. It is by far the worst Ubuntu release
ever for me. I have no time or desire to compensate for such
limitations by creating a virtual instance of it.
</rant>
------------------------------------------------------------------------
To: [email protected] <mailto:[email protected]>
From: [email protected] <mailto:[email protected]>
Subject: [CinCV] Ubuntu and cinelerra 4.2
Date: Wed, 20 Jul 2011 06:05:12 +0400
HI everyone. Did anyone try to install cinelerra 4.2 from
sources? I tried on ubuntu 10.04 with no sucess.
Tanks for any ideas...
--- cinelerra/vdevicebuz.C
+++ cinelerra/vdevicebuz.C
@@ -40,18 +40,17 @@
#include "vframe.h"
#include "videoconfig.h"
#include "videodevice.h"
+#include "videodev.h"
#include <errno.h>
#include <stdint.h>
#include <linux/kernel.h>
-//#include <linux/videodev2.h>
-#include <linux/videodev.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <unistd.h>
-
+#define BASE_VIDIOCPRIVATE 192
#define READ_TIMEOUT 5000000
--- cinelerra/vdevicev4l.h
+++ cinelerra/vdevicev4l.h
@@ -23,7 +23,7 @@
#define VDEVICEV4L_H
#include "vdevicebase.h"
-#include <linux/videodev.h>
+#include "videodev.h"
#include "videodevice.inc"
class VDeviceV4L : public VDeviceBase
--- /dev/null 2011-05-30 12:32:11.731185004 -0300
+++ cinelerra/videodev.h 2011-05-30 13:54:19.583702163 -0300
@@ -0,0 +1,200 @@
+/* libv4l1 linux/videodev.h replacement file */
+#ifndef __LINUX_VIDEODEV_H
+#define __LINUX_VIDEODEV_H
+
+#include <linux/ioctl.h>
+#include <stdint.h>
+
+#define VID_TYPE_CAPTURE 1 /* Can capture */
+#define VID_TYPE_TUNER 2 /* Can tune */
+#define VID_TYPE_TELETEXT 4 /* Does teletext */
+#define VID_TYPE_OVERLAY 8 /* Overlay onto frame buffer */
+#define VID_TYPE_CHROMAKEY 16 /* Overlay by chromakey */
+#define VID_TYPE_CLIPPING 32 /* Can clip */
+#define VID_TYPE_FRAMERAM 64 /* Uses the frame buffer memory */
+#define VID_TYPE_SCALES 128 /* Scalable */
+#define VID_TYPE_MONOCHROME 256 /* Monochrome only */
+#define VID_TYPE_SUBCAPTURE 512 /* Can capture subareas of the image */
+#define VID_TYPE_MPEG_DECODER 1024 /* Can decode MPEG streams */
+#define VID_TYPE_MPEG_ENCODER 2048 /* Can encode MPEG streams */
+#define VID_TYPE_MJPEG_DECODER 4096 /* Can decode MJPEG streams */
+#define VID_TYPE_MJPEG_ENCODER 8192 /* Can encode MJPEG streams */
+
+struct video_capability
+{
+ char name[32];
+ int type;
+ int channels; /* Num channels */
+ int audios; /* Num audio devices */
+ int maxwidth; /* Supported width */
+ int maxheight; /* And height */
+ int minwidth; /* Supported width */
+ int minheight; /* And height */
+};
+
+
+struct video_channel
+{
+ int channel;
+ char name[32];
+ int tuners;
+ uint32_t flags;
+#define VIDEO_VC_TUNER 1 /* Channel has a tuner */
+#define VIDEO_VC_AUDIO 2 /* Channel has audio */
+ uint16_t type;
+#define VIDEO_TYPE_TV 1
+#define VIDEO_TYPE_CAMERA 2
+ uint16_t norm; /* Norm set by channel */
+};
+
+struct video_tuner
+{
+ int tuner;
+ char name[32];
+ unsigned long rangelow, rangehigh; /* Tuner range */
+ uint32_t flags;
+#define VIDEO_TUNER_PAL 1
+#define VIDEO_TUNER_NTSC 2
+#define VIDEO_TUNER_SECAM 4
+#define VIDEO_TUNER_LOW 8 /* Uses KHz not MHz */
+#define VIDEO_TUNER_NORM 16 /* Tuner can set norm */
+#define VIDEO_TUNER_STEREO_ON 128 /* Tuner is seeing stereo */
+#define VIDEO_TUNER_RDS_ON 256 /* Tuner is seeing an RDS datastream */
+#define VIDEO_TUNER_MBS_ON 512 /* Tuner is seeing an MBS datastream */
+ uint16_t mode; /* PAL/NTSC/SECAM/OTHER */
+#define VIDEO_MODE_PAL 0
+#define VIDEO_MODE_NTSC 1
+#define VIDEO_MODE_SECAM 2
+#define VIDEO_MODE_AUTO 3
+ uint16_t signal; /* Signal strength 16bit scale */
+};
+
+struct video_picture
+{
+ uint16_t brightness;
+ uint16_t hue;
+ uint16_t colour;
+ uint16_t contrast;
+ uint16_t whiteness; /* Black and white only */
+ uint16_t depth; /* Capture depth */
+ uint16_t palette; /* Palette in use */
+#define VIDEO_PALETTE_GREY 1 /* Linear greyscale */
+#define VIDEO_PALETTE_HI240 2 /* High 240 cube (BT848) */
+#define VIDEO_PALETTE_RGB565 3 /* 565 16 bit RGB */
+#define VIDEO_PALETTE_RGB24 4 /* 24bit RGB */
+#define VIDEO_PALETTE_RGB32 5 /* 32bit RGB */
+#define VIDEO_PALETTE_RGB555 6 /* 555 15bit RGB */
+#define VIDEO_PALETTE_YUV422 7 /* YUV422 capture */
+#define VIDEO_PALETTE_YUYV 8
+#define VIDEO_PALETTE_UYVY 9 /* The great thing about standards is ... */
+#define VIDEO_PALETTE_YUV420 10
+#define VIDEO_PALETTE_YUV411 11 /* YUV411 capture */
+#define VIDEO_PALETTE_RAW 12 /* RAW capture (BT848) */
+#define VIDEO_PALETTE_YUV422P 13 /* YUV 4:2:2 Planar */
+#define VIDEO_PALETTE_YUV411P 14 /* YUV 4:1:1 Planar */
+#define VIDEO_PALETTE_YUV420P 15 /* YUV 4:2:0 Planar */
+#define VIDEO_PALETTE_YUV410P 16 /* YUV 4:1:0 Planar */
+#define VIDEO_PALETTE_PLANAR 13 /* start of planar entries */
+#define VIDEO_PALETTE_COMPONENT 7 /* start of component entries */
+};
+
+struct video_audio
+{
+ int audio; /* Audio channel */
+ uint16_t volume; /* If settable */
+ uint16_t bass, treble;
+ uint32_t flags;
+#define VIDEO_AUDIO_MUTE 1
+#define VIDEO_AUDIO_MUTABLE 2
+#define VIDEO_AUDIO_VOLUME 4
+#define VIDEO_AUDIO_BASS 8
+#define VIDEO_AUDIO_TREBLE 16
+#define VIDEO_AUDIO_BALANCE 32
+ char name[16];
+#define VIDEO_SOUND_MONO 1
+#define VIDEO_SOUND_STEREO 2
+#define VIDEO_SOUND_LANG1 4
+#define VIDEO_SOUND_LANG2 8
+ uint16_t mode;
+ uint16_t balance; /* Stereo balance */
+ uint16_t step; /* Step actual volume uses */
+};
+
+struct video_clip
+{
+ int32_t x,y;
+ int32_t width, height;
+ struct video_clip *next; /* For user use/driver use only */
+};
+
+struct video_window
+{
+ uint32_t x,y; /* Position of window */
+ uint32_t width,height; /* Its size */
+ uint32_t chromakey;
+ uint32_t flags;
+ struct video_clip *clips; /* Set only */
+ int clipcount;
+#define VIDEO_WINDOW_INTERLACE 1
+#define VIDEO_WINDOW_CHROMAKEY 16 /* Overlay by chromakey */
+#define VIDEO_CLIP_BITMAP -1
+/* bitmap is 1024x625, a '1' bit represents a clipped pixel */
+#define VIDEO_CLIPMAP_SIZE (128 * 625)
+};
+
+struct video_buffer
+{
+ void *base;
+ int height,width;
+ int depth;
+ int bytesperline;
+};
+
+struct video_mmap
+{
+ unsigned int frame; /* Frame (0 - n) for double buffer */
+ int height,width;
+ unsigned int format; /* should be VIDEO_PALETTE_* */
+};
+
+struct video_mbuf
+{
+ int size; /* Total memory to map */
+ int frames; /* Frames */
+ int offsets[32];
+};
+
+struct vbi_format {
+ uint32_t sampling_rate; /* in Hz */
+ uint32_t samples_per_line;
+ uint32_t sample_format; /* VIDEO_PALETTE_RAW only (1 byte) */
+ int32_t start[2]; /* starting line for each frame */
+ uint32_t count[2]; /* count of lines for each frame */
+ uint32_t flags;
+#define VBI_UNSYNC 1 /* can distingues between top/bottom field */
+#define VBI_INTERLACED 2 /* lines are interlaced */
+};
+
+#define VIDIOCGCAP _IOR('v',1,struct video_capability) /* Get capabilities */
+#define VIDIOCGCHAN _IOWR('v',2,struct video_channel) /* Get channel info (sources) */
+#define VIDIOCSCHAN _IOW('v',3,struct video_channel) /* Set channel */
+#define VIDIOCGTUNER _IOWR('v',4,struct video_tuner) /* Get tuner abilities */
+#define VIDIOCSTUNER _IOW('v',5,struct video_tuner) /* Tune the tuner for the current channel */
+#define VIDIOCGPICT _IOR('v',6,struct video_picture) /* Get picture properties */
+#define VIDIOCSPICT _IOW('v',7,struct video_picture) /* Set picture properties */
+#define VIDIOCCAPTURE _IOW('v',8,int) /* Start, end capture */
+#define VIDIOCGWIN _IOR('v',9, struct video_window) /* Get the video overlay window */
+#define VIDIOCSWIN _IOW('v',10, struct video_window) /* Set the video overlay window - passes clip list for hardware smarts , chromakey etc */
+#define VIDIOCGFBUF _IOR('v',11, struct video_buffer) /* Get frame buffer */
+#define VIDIOCSFBUF _IOW('v',12, struct video_buffer) /* Set frame buffer - root only */
+#define VIDIOCGFREQ _IOR('v',14, unsigned long) /* Set tuner */
+#define VIDIOCSFREQ _IOW('v',15, unsigned long) /* Set tuner */
+#define VIDIOCGAUDIO _IOR('v',16, struct video_audio) /* Get audio info */
+#define VIDIOCSAUDIO _IOW('v',17, struct video_audio) /* Audio source, mute etc */
+#define VIDIOCSYNC _IOW('v',18, int) /* Sync with mmap grabbing */
+#define VIDIOCMCAPTURE _IOW('v',19, struct video_mmap) /* Grab frames */
+#define VIDIOCGMBUF _IOR('v',20, struct video_mbuf) /* Memory map buffer info */
+#define VIDIOCGVBIFMT _IOR('v',28, struct vbi_format) /* Get VBI information */
+#define VIDIOCSVBIFMT _IOW('v',29, struct vbi_format) /* Set VBI information */
+
+#endif