On Monday 21 September 2009, Martin Dauskardt wrote:
> I just discovered the following module options:
>
> modinfo ivtv:
>
> parm:           ivtv_yuv_mode:Specify the yuv playback mode:
>                         0 = interlaced
>                         1 = progressive
>                         2 = auto
>                         Default: 0 (interlaced) (int)
> parm:           ivtv_yuv_threshold:If ivtv_yuv_mode is 2 (auto) then
> playback content as  progressive if src height <= ivtv_yuvthreshold
>                         Default: 480 (int)
>
> modinfo ivtvfb:
>
> parm:           osd_laced:Interlaced mode
>                         0=off
>                         1=on
>                         default off (bool)
>
> Are these options related to the YUV device (/dev/video48) ?
>
> What is the difference between  ivtv_yuv_mode and osd_laced ?
>  (The name "osd" may be misleading like osd_depth, osd_upper, osd_left,
> osd_yres, osd_xres. The last 5  are are for the size of the /dev/video48
> output.)

The ivtv_yuv_xxx options control the YUV device, while the various osd_xxxx 
options control the framebuffer device.

The framebuffer/osd has a filter which can be applied to reduce the flicker 
caused by the interlaced output. By using osd_laced=1, the filter will be 
turned off which results in a sharper image, but with noticeable flicker. 
osd_laced=0 turns the filter on, which reduces the flicker but gives a 
slightly softer image.

The other osd_xxx options have an indirect effect on YUV output, but it's not 
what they're for. The only reason they affect YUV output is because the 
default mode is for the YUV output to be linked to the framebuffer output. 
This mimics the original behaviour of the driver. 

> Should I set  ivtv_yuvthreshold to 576 if I have a PAL card (720x576) ?

This is set automatically & will change depending on the current broadcast 
standard. You should not need to change this. (The 480 default message is no 
longer correct)

> Should  ivtv_yuv_mode be moved from ivtv to ivtvfb ?

No, as it has nothing to do with the framebuffer. I can't remember the exact 
version number when it was changed, but it is no longer necessary for the 
ivtvfb module to be loaded to use the YUV device.

> Are there ioctl (v4l2 or framebuffer) to set interlaced/progressive and
> threshold?

VIDIOC_G_FMT, VIDIOC_S_FMT, V4L2_FIELD_NONE, V4L2_FIELD_INTERLACED_TB, 
V4L2_FIELD_INTERLACED_BT. Threshold cannot be altered.

For a working example, the current ivtv X driver contains code for this in 
ivtv_xv.c

-- 
Ian

_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel

Reply via email to