> Martin, > > Looking through the code for your plugin, I'm not sure but how is it > dealing > with 16:9? > > Is it: > > A) Playing the mpeg to the framebuffer using a software decoder. > OR > B) Somehow telling the CX....15 mpeg decoder that it's a 16:9 video > and > to do the necessary (is the chip capable of this?) > OR > C) Using WSS to tell the TV to display 16:9?
It uses C. However, you should be aware that the 0.10 driver has a bug preventing this from working. It is fixed in the 0.10 development branch and you can get that code here: http://ivtvdriver.org/viewcvs/ivtv/branches/0.10.tar.gz?view=tar I will probably make a 0.10.4 release fairly soon, possibly even tonight. The ivtv driver in the just-released 2.6.22 kernel has the same problem. I've asked that this fix is queued for a 2.6.22 dot release and I expect that it will in fact appear soon. Regards, Hans > OR > D) Some combination of A+C or B+C? > > Or have I got the wrong source code (mine is dated pvr350-2007-09-06)? > > Cheers > > Steve > > > On 10/07/07, Martin Dauskardt <[EMAIL PROTECTED]> wrote: >> >> 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 >> > _______________________________________________ > ivtv-devel mailing list > [email protected] > http://ivtvdriver.org/mailman/listinfo/ivtv-devel _______________________________________________ ivtv-devel mailing list [email protected] http://ivtvdriver.org/mailman/listinfo/ivtv-devel
