You can use the wss tool from Hans:
http://ivtvdriver.org/viewcvs/ivtv/trunk/test/

If you execute "wss 1" it will set the TV to a Zoom-mode (no anarmorph 16:9). 
You will have to modify the code to get real 16:9

Look at the code:

wss = 8 + (atol(argv[1]) ? 3 : 0);
        if (argc == 3)

This leads to wss value 8 (4:3) or 11 (PalPlus Zoom). You need value 7 for 
anarmorph 16:9

I use the following code for the vdr pvr350-plugin:

void cPvr350Device::Set_wss_mode()
{
        struct v4l2_format fmt;
        struct v4l2_sliced_vbi_data data;
        
        fmt.fmt.sliced.service_set = V4L2_SLICED_WSS_625;
        fmt.type = V4L2_BUF_TYPE_SLICED_VBI_OUTPUT;
        if (ioctl(fh, VIDIOC_S_FMT, &fmt) != 0) {
                esyslog("pvr350: Set VBI mode failed\n");
        }
        if (ioctl(fh, VIDIOC_G_FMT, &fmt) != 0) {
                esyslog("pvr350: VIDIOC_G_FMT failed\n");
        }
        data.id = V4L2_SLICED_WSS_625;
        data.line = 23;
        data.field = 0;
        data.data[0] = wss_data;
        data.data[1] = 0;
        if (wss_data == 7) {
                printf("pvr350: set wss mode 16:9 (anarmorph)\n");
        }
        if (wss_data == 8) {
                printf("pvr350: set wss mode 4:3\n");
        }
        write(fh, &data, sizeof data);
}

You must open the device before you can use the code above:

fh = open("/dev/vbi16",O_WRONLY);

Your application must set wss==7 if it detects 

Does it help you?

Greets,
Martin

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

Reply via email to