Missing header file pixfc-sse.h during 'ant clean all' on Raspbian Wheezy.

94 views
Skip to first unread message

Caliverse Multiverse

unread,
Aug 4, 2013, 3:27:05 PM8/4/13
to v4...@googlegroups.com
Hello, I'm trying to compile the trunk version on my Raspbian Wheezy, using these steps:

svn co http://v4l4j.googlecode.com/svn/v4l4j/trunk v4l4j-trunk
cd v4l4j
-trunk/
export JDK_HOME=/usr/lib/jvm/java-7-openjdk-armhf/
export LIBPIXFC=pixfc-sse/libpixfc-sse-armv6l-hardfp.a
ant clean all

When it gets to the 's.c' target, it fails like this:

s.c
     
[exec] cc v4l2-input.o v4l1-input.o libvideo.o pwc-probe.o gspca-probe.o qc-probe.o fps-param-probe.o v4l1-query.o v4l2-query.o v4l1-tuner.o v4l2-tuner.o palettes.o -Wl,-soname,libvideo.so.0 \
     
[exec]   -lm -lrt -shared -ljpeg -lv4lconvert -o libvideo.so.0
     
[exec] ln -f -s libvideo.so.0 libvideo.so
     
[exec] make: Leaving directory `/home/pi/dev/v4l4j-trunk/libvideo'
     [exec] make: Entering directory `
/home/pi/dev/v4l4j-trunk/src'
     [exec] cc -I/usr/lib/jvm/java-7-openjdk-armhf//include -I/usr/lib/jvm/java-7-openjdk-armhf//include/linux/ -I../libvideo -I../libvideo/pixfc-sse -I.  -O3 -fPIC -fno-stack-protector   -c -o jpeg.o jpeg.c
     [exec] In file included from jpeg.c:24:0:
     [exec] common.h:32:23: fatal error: pixfc-sse.h: No such file or directory
     [exec] compilation terminated.
     [exec] make: Leaving directory `/home/pi/dev/v4l4j-trunk/src'

     
[exec] make: *** [jpeg.o] Error 1

BUILD FAILED
/home/pi/dev/v4l4j-trunk/build.xml:92: exec returned: 2

Total time: 1 minute 31 seconds

The file src/common.h does reference this pixfc-sse.h file, but it is nowhere in the code tree

...
#include <stdio.h>
#include <jpeglib.h>
#include "libvideo.h"
#include "pixfc-sse.h"
...

The only file that starts with 'pix' is src/pixfmt-conv.h.  Am I missing some development packages, or do I need to explicitly configure my 'include' settings?

Also, when I try to 'install', the output fails quickly like this:

sudo LIBPIXFC="${LIBPIXFC}" ant install
Buildfile: /home/pi/dev/v4l4j-trunk/build.xml

install
-libvideo:
     
[exec] make: Entering directory `/home/pi/dev/v4l4j-trunk/libvideo'
     [exec] mkdir -p /usr/include
     [exec] install -p -m 644 libvideo.h libvideo-err.h libvideo-palettes.h /usr/include
     [exec] mkdir -p /usr/lib
     [exec] install -m 755 libvideo.so.0 /usr/lib
     [exec] cd /usr/lib && ln -f -s libvideo.so.0 libvideo.so
     [exec] make: Leaving directory `
/home/pi/dev/v4l4j-trunk/libvideo'

install-v4l4j:
    [mkdir] Created dir: /usr/lib/jni

BUILD FAILED
/home/pi/dev/v4l4j-trunk/build.xml:115: Warning: Could not find file /home/pi/dev/v4l4j-trunk/libv4l4j.so to copy.

Total time: 12 seconds

Thanks for developing this promising library, and for taking the time to make your code public and help us with it.

--Multiverse

Gilles Gigan

unread,
Aug 4, 2013, 7:01:33 PM8/4/13
to v4...@googlegroups.com
Hi,
my bad, I removed the dependency on PixFC lib, but didnt do too good a job at it. I ll fix it today and will let you know when you can try again.
Gilles



--Multiverse

--
You received this message because you are subscribed to the Google Groups "v4l4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email to v4l4j+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Gilles Gigan

unread,
Aug 6, 2013, 5:11:03 AM8/6/13
to v4...@googlegroups.com
Hi,
update your svn working copy and try building v4l4j again, it should build fine now.
Note, you dont need to define LIBPIXFC anymore. Just do this to build and install v4l4j:

cd v4l4j-trunk/
export JDK_HOME=/usr/lib/jvm/java-7-openjdk-armhf/
ant clean all
sudo ant install

Let me know how you go.
Gilles


Caliverse Multiverse

unread,
Aug 9, 2013, 1:47:39 AM8/9/13
to v4...@googlegroups.com
Excellent!  See below.  I can't wait to start coding with this library.
Thanks!

$ ant clean all
...
BUILD SUCCESSFUL
Total time: 3 minutes 1 second

$ sudo ant install
Buildfile: /home/pi/dev/v4l4j-trunk/build.xml

install-libvideo:
     [exec] make: Entering directory `/home/pi/dev/v4l4j-trunk/libvideo'
     [exec] mkdir -p /usr/include
     [exec] install -p -m 644 libvideo.h libvideo-err.h l
     [exec] ibvideo-palettes.h /usr/include
     [exec] mkdir -p /usr/lib
     [exec] install -m 755 libvideo.so.0 /usr/lib
     [exec] cd /usr/lib && ln -f -s libvideo.so.0 libvideo.so
     [exec] make: Leaving directory `/home/pi/dev/v4l4j-trunk/libvideo'

install-v4l4j:
     [copy] Copying 1 file to /usr/lib/jni
     [copy] Copying 1 file to /usr/share/java
     [copy] Copying 1 file to /usr/share/pixmaps
     [copy] Copying 1 file to /usr/share/pixmaps

install:

BUILD SUCCESSFUL
Total time: 12 seconds

Caliverse Multiverse

unread,
Aug 9, 2013, 2:21:50 AM8/9/13
to v4...@googlegroups.com
I ran all the test programs with success.  Setting input format to MJPEG, and output to raw, I'm getting about 1.5 fps.  This is true for both test-fps as well as the web server.  I realize this is probably a limitation of the video4linux driver for the Raspberry Pi camera module, named raspicam.  The video, though slow, is very clear.  Were you able to get any faster frame rates on your Rpi?

--Multiverse


test-fps:
     [java] This program will open /dev/video0, capture frames for 10 seconds and print the FPS
     [java] [ libvideo.c:68 ] Using libvideo version 0.9-libvideo_r494
     [java] Trying input format MJPEG
     [java] [ v4l2-input.c:206 ] The standard has been autodetected and set to WEBCAM 
     [java] Output image format: RAW (same as input)
     [java] Input image format: MJPEG
     [java] Starting test capture at 640x480 for 10 seconds
     [java] setting frame rate to 15
     [java] Couldnt set the frame interval
     [java]  =====  TEST RESULTS  =====
     [java] Frames captured :16
     [java] FPS: 1.6
     [java]  =====  END  RESULTS  =====


On Tuesday, August 6, 2013 2:11:03 AM UTC-7, Gilles wrote:

Gilles Gigan

unread,
Aug 9, 2013, 2:27:04 AM8/9/13
to v4...@googlegroups.com
Hi,
I didnt know a v4l driver was already available for the raspicam module. That's great.
Can you send the output of 'ant deviceInfo' and I ll be able to tell you if anything can be done to increase the FPS.
Gilles

Caliverse Multiverse

unread,
Aug 11, 2013, 2:26:07 PM8/11/13
to v4...@googlegroups.com
The raspicam driver for the Rpi CSI camera module came with the video4linux framework project, uv4l,  The uv4l command helps one create the device special file /dev/video0, 1, 2, ..., and link it to the raspicam driver.

Here is output from the deviceInfo utility:

pi@raspberrypi ~/dev/v4l4j-trunk $ LD_PRELOAD=/usr/lib/uv4l/uv4lext/armv6l/libuv4lext.so ant deviceInfo


Buildfile: /home/pi/dev/v4l4j-trunk/build.xml


deviceInfo
:

     
[java] [ libvideo.c:68 ] Using libvideo version 0.9-
libvideo_r494
     
[java] name: Camera Board OV5647
     
[java] Device file: /dev/video0
     
[java] Supported formats:
     
[java] MJPEG - 48 - no resolution information
     
[java] Formats that can be RGB24-converted:
     
[java] MJPEG - 48 - no resolution information
     
[java] Formats that can be BGR24-converted:
     
[java] MJPEG - 48 - no resolution information
     
[java] Formats that can be YUV420-converted:
     
[java] MJPEG - 48 - no resolution information
     
[java] Formats that can be YVU420-converted:
     
[java] MJPEG - 48 - no resolution information
     
[java] Formats that can be JPEG-encoded:
     
[java] MJPEG - 48 - no resolution information
     
[java] RGB24 - 7 - no resolution information
     
[java] BGR24 - 6 - no resolution information
     
[java] YUV420 - 31 - no resolution information
     
[java] Inputs:
     
[java] Name: default
     
[java] Type: 2(Camera)
     
[java] Index: 0
     
[java] Supported standards:
     
[java] 0(None/Webcam)


BUILD SUCCESSFUL
Total time: 15 seconds

Gilles Gigan

unread,
Aug 11, 2013, 7:02:39 PM8/11/13
to v4...@googlegroups.com
Hi,
It looks like there is nothing more that can be done, except maybe trying to set the frame rate manually and check if it makes a difference.
Have you tried capturing from other apps to see what frame rate you get ?

Gilles

Caliverse Multiverse

unread,
Aug 17, 2013, 10:50:01 PM8/17/13
to v4...@googlegroups.com
Yes, the only time I can get higher frame rates, aside from the raspivid program that comes with raspbian, was using the linux 'dd' command on the raw device file /dev/video....  That one gave me about 10fps and looked pretty good.  However, there was no timing information in that stream, so it played back at +2X speed, probably under assumption of the nominal 25fps.  I had to adjust the speed during playback, or reformat it with avconv (ffmpeg).  I was not able to successfully use avconv directly with the raw device file to get high frame rates, even though both the device file and avconv support the video4linux2 protocol.  When avconv was configured to receive h264, the frame rate was very low, and when it was configured to receive video4linux, it failed to recognize the underlying h264 stream.

-Multiverse
Reply all
Reply to author
Forward
0 new messages