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

Reply via email to