Hi everyone,
I'm sure you see this post pop up now and again, but please humour me.
I'm writing a very basic snapshot program in C and I've had this working
for a very long time with my very basic CPiA camera that spits out RGB24
data. I've had to port my application to use the Logitech Quickcam
Orbit, which has the pwc 740 chip inside of it. I've written a working
yuv420p -> yuv -> rgb24 converter, and I've had success at full
resolution, but none at lower res's except 160x120. That is, the range
of 320x240 for the 740 device does not seem to work at 5, 10, ... , or
30 fps.
Is there something I'm missing? I haven't been using the pwc for nearly
as long as my other camera.
Any help would be greatly appreciated. Please see output below before
your diagnosis.
~/Chris
###########################################################
snapshot $ ./snapshot --width=320 --height=240
--compression=0 --fps=5 1> /dev/null
width is set to 320
height is set to 240
compression is set to 0
framerate is set to 5
opening /dev/video0 ...
======= Device Capabilities =======
name=Logitech QuickCam Orbit
type=1
channels=1
audios=1
maxwidth=640
maxheight=480
minwidth=160
minheight=120
Philips WebCam Model #740
========= Image Properties ========
brightness=32256
hue=65535
colour=32441
contrast=64512
whiteness=49152
depth=24
palette=15
======== Window Properties =======
set compression to 0
framerate: 5 fps
video mode (320x240) was not accepted
x=0
y=0
width=160
height=120
chromakey=0
flags=327680
clips=(Set Only)
clipcount=(Set Only)
'real' image size of pwc is 160 x 120
======== mBuffer Properties =======
size=925696
frames=2
offsets[0]=0
offsets[1]=462848
======= Performing Operation ======
read 28800 bytes from /dev/video0
closing /dev/video0 ...
####################################################################
snapshot $
for comp in 1 2 3; do for fps in 5 10 15 20 25 30; do ./snapshot
--width=320 --height=240 --compression=$comp --fps=$fps 1> /dev/null
2>out.err; if [ "`grep accepted out.err`" != "" ]; then echo "z=$comp /
fps=$fps failed"; else echo "z=$comp / fps=$fps worked"; fi; done; done
z=1 / fps=5 failed
z=1 / fps=10 failed
z=1 / fps=15 failed
z=1 / fps=20 failed
z=1 / fps=25 failed
z=1 / fps=30 failed
z=2 / fps=5 failed
z=2 / fps=10 failed
z=2 / fps=15 failed
z=2 / fps=20 failed
z=2 / fps=25 failed
z=2 / fps=30 failed
z=3 / fps=5 failed
z=3 / fps=10 failed
z=3 / fps=15 failed
z=3 / fps=20 failed
z=3 / fps=25 failed
z=3 / fps=30 failed
_______________________________________________
pwc mailing list
http://lists.saillard.org/mailman/listinfo/pwc
|