Mailing List Archive

ivtv_yuv_mode, ivtv_yuv_threshold and osd_laced
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.)

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

Should ivtv_yuv_mode be moved from ivtv to ivtvfb ?

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

Greets,
Martin

_______________________________________________
ivtv-devel mailing list
ivtv-devel@ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-devel
Re: ivtv_yuv_mode, ivtv_yuv_threshold and osd_laced [ In reply to ]
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
ivtv-devel@ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-devel