diff options
Diffstat (limited to 'patches/vdr-dxr3-wss.patch')
-rw-r--r-- | patches/vdr-dxr3-wss.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/patches/vdr-dxr3-wss.patch b/patches/vdr-dxr3-wss.patch new file mode 100644 index 0000000..0bff620 --- /dev/null +++ b/patches/vdr-dxr3-wss.patch @@ -0,0 +1,49 @@ +Wide screen signaling (WSS) patch for vdr-dxr3 by Seppo Ingalsuo. +Apply to: vdr-dxr3 plugin sources +More info: http://thread.gmane.org/gmane.linux.vdr/17095 +Note: you'll probably want to apply em8300-adv7170-wss.patch too + in order to get support for this functionality in the driver. + + +Index: dxr3interface.c +=================================================================== +RCS file: /cvsroot/dxr3plugin/dxr3/dxr3interface.c,v +retrieving revision 1.4.2.5 +diff -u -r1.4.2.5 dxr3interface.c +--- dxr3interface.c 14 Mar 2005 19:56:19 -0000 1.4.2.5 ++++ dxr3interface.c 14 Mar 2005 21:30:07 -0000 +@@ -488,18 +488,32 @@ + void cDxr3Interface::SetAspectRatio(uint32_t ratio) + { + static int requestCounter = 0; ++ int wssmode; ++ int aspect; + + Lock(); + + if (cDxr3ConfigData::Instance().GetForceLetterBox()) ratio = EM8300_ASPECTRATIO_16_9; +- if (Setup.VideoFormat) ratio = EM8300_ASPECTRATIO_4_3; + + if (!m_ExternalReleased && ratio != UNKNOWN_ASPECT_RATIO) + { + if (ratio != m_aspectRatio && requestCounter > 50) + { ++ if (Setup.VideoFormat) ++ { ++ aspect = EM8300_ASPECTRATIO_4_3; ++#ifdef EM8300_IOCTL_SET_WSS ++ if (ratio == EM8300_ASPECTRATIO_16_9) ++ wssmode = EM8300_WSS_16_9; ++ else ++ wssmode = EM8300_WSS_OFF; ++ ioctl(m_fdControl, EM8300_IOCTL_SET_WSS, &wssmode); ++#endif ++ } ++ else ++ aspect = ratio; + requestCounter = 0; +- if (ioctl(m_fdControl, EM8300_IOCTL_SET_ASPECTRATIO, &ratio) < 0) ++ if (ioctl(m_fdControl, EM8300_IOCTL_SET_ASPECTRATIO, &aspect) < 0) + { + cLog::Instance() << "cDxr3AbsDevice::SetAspectRatio Unable to set aspect ratio\n"; + } |