On Sat, 2003-07-19 at 12:13, Pascal Bleser wrote:The black border is 1 to 2 pixels high on top and bottom (in the middle of the image it gets from 1 pixel to 2 pixel high).You're having black borders in the middle?!? Can you upload a screenshot somewhere?
No, in fact the borders are around the picture, not in the middle ;) I've uploaded a capture here:
http://guru.unixtech.be/v4l/image.gif
This one is made in 768x576 with 8bit depth, PAL, in VIDEO_PALETTE_GREY mode (bt878 chipset). I then convert it into 8bit grayscale GIF with ImageMagick, but it isn't an issue with that (webcam has the same problem).
As said, I get the same result using the webcam cmdline tool:
http://guru.unixtech.be/v4l/webcam.jpg
(RGB24, PAL, same size)
And with other width and height settings as well.
BTW, it's a 2.4.19 kernel, but I get the same with 2.4.21. The source is a grayscale camera (Panasonic CCTV).
I wrote the capture routine myself, using the kernel syscalls.
---->8-[snip]------------------------------ struct video_capability capability_; struct video_channel channel_[5]; struct video_picture picture_; struct video_mbuf vm_; struct video_mmap vmm_; int fd_; unsigned char* vmap_; //map int i;
fd_ = open(DEVICE, O_RDWR);
ioctl(fd_, VIDIOCGCAP, &capability_);
for (i=0; (i < capability_.channels) && (i < 5); i++) {
channel_[i].channel = i;
ioctl(fd_, VIDIOCGCHAN, &(channel_[i]));
channel_[i].norm = VIDEO_TUNER_PAL;
}
ioctl(fd_, VIDIOCSCHAN, &(channel_[1]));picture_.brightness = 32767;
picture_.hue = 32767;
picture_.colour = 32767;
picture_.contrast = 32767;
picture_.whiteness = 32767;
picture_.depth = 8;
picture_.palette = VIDEO_PALETTE_GREY;
ioctl(fd_, VIDIOCSPICT, &(picture_));
ioctl(fd_, VIDIOCGMBUF, &(vm_));
vmap_ = (unsigned char*) mmap(0, vm_.size,
PROT_READ, MAP_SHARED, fd_, 0);vmm_.format = VIDEO_PALETTE_GREY; vmm_.frame = 0; vmm_.width = WIDTH; vmm_.height = HEIGHT; vmm_.format = PALETTE;
ioctl(fd_, VIDIOCMCAPTURE, &(vmm_));
i = 0; ioctl(fd_, VIDIOCSYNC, &i); memcpy(buffer, vmap_ + vm_.offsets[0], bufsize); ---->8-[snip]------------------------------
This is just an excerpt, I'm checking the return codes properly in the real code.
As you can see, the picture has several issues:
- the black border on left and right
- the border on top and bottom
- a "ghost" effect on the left and right edges
(the black spots on the picture are just some dust on the camera's objective ;))
Could this come from
- a wrong tuner setting ? (I tried some, makes no difference)
- a need to make the capture using another palette mode ? (altough webcam uses RGB24 or RGB32 and gets the same result)
- ... ?
It's an embedded board and I don't have the exact chipset, but autoprobing works and detects bt878/bt848 (lspci says it's a BT878):
00:0b.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (4000ns min, 10000ns max)
Interrupt: pin A routed to IRQ 10
Region 0: Memory at dfcfe000 (32-bit, prefetchable) [size=4K]
Capabilities: [44] Vital Product Data
Capabilities: [4c] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
I also tried to force the chipset with the card=... parameter for the module. It didn't help either, I hade the same issues on the pictures.
I use the pll=1 setting to use PAL properly.
No idea what tuner to use or if it has any incidence on that at all.
It worked without specifying a tuner but I tried 2 or 3 different settings in the modules, it didn't change anything.
The board is quite slow (it's a "Vortex86", equivalent to a Pentium I, altough it has MMX) but as I don't do any video streaming (just one-shot, user-triggered captures), I don't think it could have any incidence.
Thanks for any help
-- -o) Pascal Bleser http://guru.unixtech.be /\\ <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> _\_v The more things change, the more they stay insane.
-- video4linux-list mailing list Unsubscribe mailto:[EMAIL PROTECTED] https://www.redhat.com/mailman/listinfo/video4linux-list
