Frames | Top | Up: Viewers

The settings dialog

This is actually a collection of dialogs, arranged as a tab-dialog. It is used for setting various parameters of the video device you are watching. The most common settings are image size, brightness, contrast, etc.

The tab-dialog consists of either 3 or 4 subdialogs. The 4th dialog is specific for the Philips USB webcams and is hidden for other types of cameras. The subdialogs are now described one by one.

Size & Frame


In here you can select the desired image size, ranging from a stamp-sized 128x96 subQCIF to a hefty 640x480, provided the video device supports this resolution of course. If a size from the list is not supported by the device, its radiobutton is disabled (grayed out), like in this example.

The framerate only really applies to webcams that have such a setting (like the Philips cams). With other webcams that do no support this, this setting has no effect. This feature is simulated with TV cards (which have only one framerate: 50 resp. 59.97 Hz) by using a timer.

The snapshot box will be (re)moved soon. It produces some interesting effects with some of the Philips cams :-)

Video Controls


This is where you can manipulate the brightness, contrast, gamma (or 'whiteness') and colour (or 'saturation') settings. Not all cams support all settings, so don't be surprised if moving one of the sliders don't have any effect. Also, some settings cannot be set at all; in that case the slider will be disabled (but Qt doesn't properly show a disabled slider).

Nearly all devices have brightness and contrast, but the situation with gamma and colour is a bit more difficult. Originally, the V4L API defined a whiteness settings for black-and-white cameras only; but this doesn't really make sense and since the Philips cams have a gamma parameter, I (ab)used that one.

Something similar is true for the colour setting; sometimes it modifies the hue parameter (probably affecting the PAL/NTSC decoder), and for other devices it tells how strong the colours should look: moving the slider to the left will produce black-and-white images, and to the right sickly-saturated images.

To make a long story short: there are 4 sliders, and only the first 2 have a fixed meaning; the other 2 depend a bit on the underlying hardware.

Tuning


TV cards often have multiple inputs and a tuner, in contrast to webcams. This dialogs allows you to select an input and, in case of an attached tuner, the frequency.

On the left, you see a list of available inputs. This list is queried from the device and build dynamicly; webcams usually have only one (simulated) input.

Inputs can have tuners attached to them; in theory more than one, but I have yet to see a card that has more than one. Nevertheless CamStream support a maximum of 3 tuners per input. Again the number of tuners is determined dynamicly when an input is selected. If no tuners are attached to the input, the right half of the dialog disappears.

Finally, there's the frequency slider. Its resolution is quite coarse; it has to span a frequency range of 47 to 870 MHz with a single slider. A better approach would be to have a list of channel frequency with names (it's on my TODO list) and a fine-tuner. Right now, consider this an unfinished feature (enhancements in the form of patches are welcome :)).

Note: until you set something, the dialog looks quite uninitialized. This is because the V4L API misses some important calls to query the current state of the device, like which input is currently selected.

Philips extensions


The name says it all: these are proprietary exensions of the Philips webcam driver; they simply did not fit into the existing V4L API or don't have an equivalent function. The full extension is described on the API for Philips webcams page.

AGC and Shutter are two settings that affect the lighting conditions of the CCD/CMOS sensor. They are primarely here upon request of amateur astronomers that wanted to put the high sensitivity of the CCD element to good use on their nightly hunt for planets, stars and comets.

AGC is the automatic gain control of the camera; it tells how much the (analog) signal from the sensor is being amplified or attenuated to compensate for dark/bright scenes. The Shutter slider indicates how long the senser should collect light before handing over the image to the internal processor.

The checkbox before the two sliders enable auto mode (the usual mode for the webcams). When auto mode is on, the slider is used as an indicator and moves around according to the value reported by the cam (for example, turn on the AGC auto mode and cover the lens of the webcam with your hand; the cam will try to compensate for the darkness by increasing the AGC value and the slider will move to the right). In non-auto mode, you can move the sliders around yourself for some interesting lighting experiments.

Preferred compression is not really a feature of the webcam itself, but something I built into the driver myself. The webcam uses compression; the rate is variable, and I though it might be a good idea to be able to choose between low or no compression to reduce any possible artefacts in the images, and high compression to conserve bandwidth on the USB bus.

The 3 buttons at the bottom are for saving or restoring the settings into a little EEPROM (Erasble EPROM) in the camera permanently, without requiring electricity. Save user defaults stores the current brightness, contrast, etc. settings into the EEPROM; these values will then be restored when you plug the camera back in next time. Restore user defaults retrieves these settings now, should you have messed up the controls in the "Video Controls" panel. Restore factory settings resets all settings to a set of preprogrammed, fail-safe defaults.