Nogatech produced several USB bridge chipsets, intended for video capture devices, which, collectively, were marketed as being the 'USBVision' family of products. (Note: in actuality, Nogatech was very inconsistent in respect to their usage of either a 'V' or 'v' in their references to the product's name, so 'USBvision' was also commonly presented).
The NT1003 was the first chip in this family. When literature on the product emerged in 1997, the NT1003 was originally referred to as the Live Video On USB chip. However, that label soon disappeared from company use and the chip was rebranded as the USB-Vision. By the eventual time of product availability, in late 1998, it had subsequently become known more simply as the USBVision (or USBvision). The NT1003 was intended for use in digital video cameras; where in such use, the chip's algorithms provide compression of the raw 30fps video data down to data rates between the ranges of 0.5 Mbit to 8 Mbit, and thus permit the transmission of a video stream across the narrow bandwidth of an USB 1.1 channel.
Personal Media Division (Nogatech) 2000: X10 va10a Wireless Camera: Vendor Device USB: 0573: Zoran Co. Personal Media Division (Nogatech) 2001: Dazzle EmMe. Skin locus of Nogatech camera in rg -space. A simple membership function to the skin locus is a pair of quadratic functions defining the upper and lower bound of the cluster. For each r, the maximum and minimum g was used to estimate the upper and lower quadratic functions.
Kritter USB Camera works with both IBM PC and Apple MacIntosh computers. Installation is a true plug and play experience. Install the included software drivers, connect the USB Micro Cam to your computer and now you are ready to begin capturing live video and creating amazing still images.
The NT1004 became available a year later, in late 1999. This successor product was labeled by Nogatech as the USBvision II (or USBVision II) chipset. The NT1004 most notably added the capability to simultaneously stream video, audio and serial data (IR remote control data, smart media card and other standard serial data) across a USB interface to a computer, and hence broadened the range of devices for which the USBVision was suitable. In addition, the NT1004 IC was a physically smaller package and brought improved power characteristics over its predecessor.
In 2000, Nogatech was purchased by Zoran, and, seemingly, under control of the new owners, a coherent product name branding was settled upon, with 'USBvision' emerging as the formal name for the entire chipset family. Zoran, using its own product part nomenclature, also recast the NT1004 chip as the ZR36504.
The Nogatech developed NT1005 chipset was released by Zoran as product part ZR36505 and held the marketing name of 'USBvision II Data Decoder'. The NT1005 was essentially a complimentary chip to the NT1004; it offered all the same features as the NT1004, but also provided support for VBI processing, and hence Teletext/Closed Captioning.
The NT1003, NT1004, and NT1005 chipsest are all supported under Linux by the USBVision device driver. The chips were widely used by a number of different vendors in their USB video capture devices; for examples, see USBVision devices.
Zoran later added to the USBvision family with the 'USBvision III' (ZR36506) chipset.
External Links
Em 22-07-2011 18:44, Ondrej Zary escreveu:
> On Friday 22 July 2011 23:31:46 Devin Heitmueller wrote:
>> On Fri, Jul 22, 2011 at 5:22 PM, Ondrej Zary <li...@rainbow-software.org> wrote:
>>> Seems that this bug is widespread - the same problem appears also in guvcview
>>> and adobe flash. I think that the driver is broken too - it should return
>>> corrected resolution in TRY_FMT.
>>
>> Well, if the driver does not return the resolution it is actually
>> capturing in, then that indeed is a driver bug. That's a different
>> issue though than what your patch proposed.
>>
>> You should make the TRY_FMT call specifying an invalid resolution and
>> see if it returns the real resolution the device will capture at. If
>> it doesn't, then fix *that* bug.
>
> It does not, there's no code that would do that. I actually fixed that only
> to find out that the scaling is unusable at least with the MicroCam because
> of black horizontal lines that appear in the image (amount of the lines
> depend on the scaling factor). So I just disabled the scaling completely for
> MicroCam.
>
> I also don't know if the multiple-of-64 width limit is valid for all
> usbvision devices - that's why I haven't posted patch to fix this.
>
>> The application needs to know the capturing resolution, so it's
>> possible that it does properly handle the driver passing back the real
>> resolution and the driver is at fault, in which case no change is
>> needed to the app at all.
Well, for sure you don't need to touch at s_fmt, as it calls try_fmt. Also,
if the problem is that the scaler requrires that the vertical resolution to be
multiple of some limit, a patch like the one bellow would do a better job:
diff --git a/drivers/media/video/usbvision/usbvision-video.c b/drivers/media/video/usbvision/usbvision-video.c
index 5a74f5e..6907eff 100644
--- a/drivers/media/video/usbvision/usbvision-video.c
+++ b/drivers/media/video/usbvision/usbvision-video.c
@@ -922,6 +922,9 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv,
+ /* FIXME: please correct the minimum resolution here */
RESTRICT_TO_RANGE(vf->fmt.pix.width, MIN_FRAME_WIDTH, MAX_FRAME_WIDTH);
RESTRICT_TO_RANGE(vf->fmt.pix.height, MIN_FRAME_HEIGHT, MAX_FRAME_HEIGHT);
Logitech Cameras In Stock
+ vf->fmt.pix.width &= ~0x01;
+
vf->fmt.pix.bytesperline = vf->fmt.pix.width*
usbvision->palette.bytes_per_pixel;
vf->fmt.pix.sizeimage = vf->fmt.pix.bytesperline*vf->fmt.pix.height;
Some scalers require an even vertical resolution. So, you'll need to adjust the
above, according with the restrictions you may have on the scaler your webcam
has.
Logitech Cameras For Streaming
Btw, V4L2 core defines a macro for such type of adjustments. For example,
em28xx uses it as:
/* width must even because of the YUYV format
height must be even because of interlacing */
v4l_bound_align_image(&width, 48, maxw, 1, &height, 32, maxh,
1, 0);
(
So, a better fix would be to remove the RESTRICT_TO_RANGE() calls, and use
the v4l_bound_align_image() macro instead, filled with the needed restrictions,
like:
v4l_bound_align_image(&width, MIN_FRAME_WIDTH, MAX_FRAME_WIDTH, 1,
&height, MIN_FRAME_HEIGHT, MAX_FRAME_HEIGHT, 0);
Logitech Cameras Amazon
-
[usbvision] Fix width/height scaling limits
It assumes that both just width is required to be even number.
NOT TESTED.
Signed-of-by: Mauro Carvalho Chehab <mch...@redhat.com>
diff --git a/drivers/media/video/usbvision/usbvision-video.c b/drivers/media/video/usbvision/usbvision-video.c
index 5a74f5e..41d3b47 100644
--- a/drivers/media/video/usbvision/usbvision-video.c
+++ b/drivers/media/video/usbvision/usbvision-video.c
@@ -919,8 +919,11 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv,
/* robustness */
if (format_idx USBVISION_SUPPORTED_PALETTES)
return -EINVAL;
- RESTRICT_TO_RANGE(vf->fmt.pix.width, MIN_FRAME_WIDTH, MAX_FRAME_WIDTH);
- RESTRICT_TO_RANGE(vf->fmt.pix.height, MIN_FRAME_HEIGHT, MAX_FRAME_HEIGHT);
+
+ v4l_bound_align_image(&vf->fmt.pix.width,
+ MIN_FRAME_WIDTH, MAX_FRAME_WIDTH, 1,
+ &vf->fmt.pix.height,
+ MIN_FRAME_HEIGHT, MAX_FRAME_HEIGHT, 0, 0);
vf->fmt.pix.bytesperline = vf->fmt.pix.width*
usbvision->palette.bytes_per_pixel;
Logitech Cameras
--
To unsubscribe from this list: send the line 'unsubscribe linux-kernel' in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/