Age | Commit message (Collapse) | Author |
|
means the data size of a frame can be calculated if the dimensions
are known.
* calculate frame data sizes for uncompressed formats instead of believing
what the hardware says. the UVC spec changed between 1.0 and 1.1, and
as a result, some devices return bogus information.
* skip under-sized as well as over-sized uncompressed frames; there is
only one correct size for uncompressed frames.
* remove quirk to fix uncompressed frame sizes on certain devices,
since that now always happens.
* check that the device is actually using the parameters we think it's
using.
|
|
setting and and getting the frame interval.
|
|
equivilent. only define one structure, struct usb_video_frame_desc,
and handle both types of frame descriptors in the same code.
* replace hardcoded numbers with 'sizeof(struct usb_video_frame_desc)'
where the numbers represent the size of a frame descriptor
tested by several
|
|
Logitech HD Pro Webcam C910 (and probably others) to make it work.
Debugging, suggested and ok jakemsr@
|
|
member the way uaudio does, make the variable sized member as large
as it can be and don't define the following members.
* reenable control support for devices where bControlSize != 2 in
the processing unit descriptor.
tested on alpha, amd64, i386, sparc64 and zaurus, as well as the machine
where previous support for variable bControlSize caused a hang.
|
|
control.
|
|
I can figure out why it causes boot hangs with some Sonix camera
|
|
and add support for more processing unit controls.
from Martin Pieuchot, thanks!
|
|
webcam.
ok mglocker
|
|
alive during match and attach. do not attempt to reuse this pointer or
ifaces during a deferred attach routine, since it will contain junk,
but instead make copies.
tested on all 3 kinds of uvideo's (ricoh fw load, apple fw load, and the rest)
ok robert mglocker
|
|
From Kenji Aoyama
|
|
(0x05ac:8300 before firmware load, 0x05ac:0x8501 after firmware load).
Also those devices have a own stream header procotol for which we've
added a seperate stream header decode function, which does not work yet.
A jointventure work with robert@
|
|
- Add Apple iSight first revision device to the quirk table for future code.
- Fix some logic in the device matching function.
OK deraadt@
|
|
in the same device table, and abstract usb control out of the ricoh firmware
loader so that it can be reused by other loaders
ok mglocker
|
|
Tested by deraadt@ and myself.
|
|
|
|
ok mglocker@
|
|
(this diff will be include next diff.)
|
|
|
|
transfers which require larger bandwidths, e.g. for higher resolutions.
discussed with yuo@, deraadt@
|
|
|
|
variables.
|
|
Thanks to Carlos Valiente for donating an EeePC 701 where this has been
developed and tested.
|
|
struct and pack all other hardware structs which have been forgotten.
|
|
there reorder fields in the struct to make it shorter on 64 bit archs.
panic reported by jasper@
thanks to miod@ for helping me debug this down
|
|
|
|
ioctls therefore are VIDIOC_QUERYCTRL, VIDIOC_G_CTRL, and VIDIOC_S_CTRL.
|
|
"fragment" gets replaced by "sample".
"sample" gets replaced by "frame".
A sample is a peace of a frame (final image). No functional changes.
OK deraadt@
|
|
field is unreliable and can start with any number. Use an own internal
array index instead.
- If the read buffer is too small, return a propper error to the calling
functions. Just check the buffer size if we use the read(2) method since
it doesn't affect mmap(2).
Fixes kernel crashes seen with the M$ LifeCam NX-6000 and internal
(laptop) Sonix chipsets.
Tested by jcs@ (Sonix) and myself (NX-6000).
OK deraadt@
|
|
meantime, the memory allocation for the read(2) method for video(4)
is not right anymore, and can cause a buffer overflow.
We fix this by queuering the maximum available image size for a device at
attach time. If the image size should exceed our video(4) buffer after a
video format change (which shouldn't happen), uvideo(4) will gracefully
fail.
Also tested by kettenis@
|
|
|
|
VIDEO_S_FMT doesn't exactly match the devices available resolutions,
return the next best matching resolution which we have.
Makes some V4L2 apps happy when running them with the default resolution
(no options).
|
|
set their desired image size, and therefore users can manipulate the
image size, too via the application.
Also tested by brad@
|
|
|
|
can use them later for stuff like VIDIOC_S_FMT (e.g. set custom
resolution).
|
|
|
|
|
|
|
|
|
|
isoc xfer workaround.
Improved and OK deraadt@
|
|
the userland application wants.
OK robert@
|
|
|
|
VIDIOC_STREAMON for that purpose, too.
OK robert@
|
|
|
|
Help by miod@
|
|
delivered by the device (dwMaxVideoFrameSize). Also check for too large
frames (buffer overflow), they get skipped.
|
|
- Prepare for mmap(2).
|
|
|
|
|
|
resolutions on my cam work.
|