<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>chicony &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/chicony/</link>
	<description>Feed of posts on WordPress.com tagged "chicony"</description>
	<pubDate>Mon, 28 Dec 2009 17:26:00 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Derek's hack to fix W7S flipped WebCam]]></title>
<link>http://cristiantm.wordpress.com/2008/07/14/dereks-hack-to-fix-w7s-flipped-webcam/</link>
<pubDate>Mon, 14 Jul 2008 20:39:49 +0000</pubDate>
<dc:creator>CristianTM</dc:creator>
<guid>http://cristiantm.wordpress.com/2008/07/14/dereks-hack-to-fix-w7s-flipped-webcam/</guid>
<description><![CDATA[I was going to use some of my vacation time to try to fix the vertical flip (upside down) bug in Chi]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I was going to use some of my vacation time to try to fix the vertical flip (upside down) bug in Chicony Electronics WebCam (04f2:b012) in W7S laptop, but decided to take a look on Google again if anyone has already found a fix for that&#8230; And I found it!!!</p>
<p><a href="http://lorddfu.blogspot.com/" target="_blank">Derek Bruce</a> wrote a <a href="http://lorddfu.blogspot.com/2008/05/uvc-webcam-flip-patch-v03.html" target="_blank">small hack to uvcvideo</a> that fixes this anoying bug at kernel module level. Is a very simple sollution, but works very well!!!</p>
<p>Just aply <a href="http://www.uhacc.org/~dfu/uvc-hack-v03.patch" target="_self">this patch</a> to uvcvideo (content also avaliable at the end of this post)<em></em>. You can download latest uvcvideo <a href="http://linux-uvc.berlios.de/" target="_self">from here</a>, or checkout the latest svn version using the following command:</p>
<pre style="padding-left:30px;">svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk uvc-video</pre>
<p>Important note: Default Makefile will put uvcvideo kernel module on the wrong path for Ubuntu, and you may need to change this line on Makefile:</p>
<pre style="padding-left:30px;">INSTALL_MOD_DIR := kernel/ubuntu/media/usbvideo</pre>
<p>to:</p>
<pre style="padding-left:30px;">INSTALL_MOD_DIR := ubuntu/media/usbvideo</pre>
<p>Download the patch file to the uvcvideo source folder, and aply it using the following command:</p>
<pre style="padding-left:30px;">patch -i <em>uvc-hack.patch</em></pre>
<p>Compile and install the driver using make:</p>
<pre style="padding-left:30px;">make
sudo make install</pre>
<p>Just reload the kernel module:</p>
<pre style="padding-left:30px;">modprobe -r uvcvideo
modprobe uvcvideo</pre>
<p>And that&#8217;s all&#8230; your don&#8217;t need to flip the notebook anymore to talk with another people! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Thanks a lot, Derek, for this nice patch!!!</p>
<p><!--more--></p>
<p>The complete code from the pacth (Copy and save as <em>uvc-hack.patch</em>, for example):</p>
<blockquote>
<pre>diff -u trunk/uvc_queue.c ../uvc-dfu07/trunk/uvc_queue.c
--- trunk/uvc_queue.c	2008-05-06 00:48:16.000000000 -0500
+++ ../uvc-dfu07/trunk/uvc_queue.c	2008-05-24 01:01:34.000000000 -0500
@@ -287,10 +287,13 @@
  * available.
  */
 int uvc_dequeue_buffer(struct uvc_video_queue *queue,
-		struct v4l2_buffer *v4l2_buf, int nonblocking)
+		struct v4l2_buffer *v4l2_buf, int nonblocking,
+		struct uvc_frame *frame)
 {
 	struct uvc_buffer *buf;
 	int ret = 0;
+	int i;
+	char swap[frame-&#62;wWidth &#60;&#60; 1];

 	if (v4l2_buf-&#62;type != V4L2_BUF_TYPE_VIDEO_CAPTURE &#124;&#124;
 	    v4l2_buf-&#62;memory != V4L2_MEMORY_MMAP) {
@@ -333,6 +336,20 @@
 		goto done;
 	}

+	// Flip webcam image.
+	for (i = 0; i &#60; (frame-&#62;wHeight &#62;&#62; 1); i++) {
+		memcpy(&#38;swap, (char *) queue-&#62;mem + buf-&#62;buf.m.offset +
+			i * (frame-&#62;wWidth &#60;&#60; 1), (frame-&#62;wWidth &#60;&#60; 1));
+		memcpy((char *) queue-&#62;mem + buf-&#62;buf.m.offset +
+			i * (frame-&#62;wWidth &#60;&#60; 1),
+			(char *) queue-&#62;mem + buf-&#62;buf.m.offset +
+			(frame-&#62;wHeight - 1 - i) *
+			(frame-&#62;wWidth &#60;&#60; 1), (frame-&#62;wWidth &#60;&#60; 1));
+		memcpy((char *) queue-&#62;mem + buf-&#62;buf.m.offset +
+			(frame-&#62;wHeight - 1 - i) *
+			(frame-&#62;wWidth &#60;&#60; 1) , &#38;swap, (frame-&#62;wWidth &#60;&#60; 1));
+	}
+
 	list_del(&#38;buf-&#62;stream);
 	__uvc_query_buffer(buf, v4l2_buf);

diff -u trunk/uvc_v4l2.c ../uvc-dfu07/trunk/uvc_v4l2.c
--- trunk/uvc_v4l2.c	2008-05-06 00:48:16.000000000 -0500
+++ ../uvc-dfu07/trunk/uvc_v4l2.c	2008-05-24 00:36:24.000000000 -0500
@@ -877,7 +877,8 @@
 			return -EBUSY;

 		return uvc_dequeue_buffer(&#38;video-&#62;queue, arg,
-			file-&#62;f_flags &#38; O_NONBLOCK);
+			file-&#62;f_flags &#38; O_NONBLOCK,
+			video-&#62;streaming-&#62;cur_frame);

 	case VIDIOC_STREAMON:
 	{
diff -u trunk/uvcvideo.h ../uvc-dfu07/trunk/uvcvideo.h
--- trunk/uvcvideo.h	2008-05-06 00:48:16.000000000 -0500
+++ ../uvc-dfu07/trunk/uvcvideo.h	2008-05-24 00:36:24.000000000 -0500
@@ -711,7 +711,8 @@
 extern int uvc_queue_buffer(struct uvc_video_queue *queue,
 		struct v4l2_buffer *v4l2_buf);
 extern int uvc_dequeue_buffer(struct uvc_video_queue *queue,
-		struct v4l2_buffer *v4l2_buf, int nonblocking);
+		struct v4l2_buffer *v4l2_buf, int nonblocking,
+		struct uvc_frame *frame);
 extern int uvc_queue_enable(struct uvc_video_queue *queue, int enable);
 extern void uvc_queue_cancel(struct uvc_video_queue *queue);
 extern struct uvc_buffer *uvc_queue_next_buffer(struct uvc_video_queue *queue,</pre>
</blockquote>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Profesionisti in Vanzari si Service ,  la preturi DECENTE !!!]]></title>
<link>http://valmari93.wordpress.com/2008/06/09/profesionisti-in-vanzari-si-service-la-preturi-decente/</link>
<pubDate>Mon, 09 Jun 2008 10:49:19 +0000</pubDate>
<dc:creator>valmari93</dc:creator>
<guid>http://valmari93.wordpress.com/2008/06/09/profesionisti-in-vanzari-si-service-la-preturi-decente/</guid>
<description><![CDATA[NIMENI nu pleaca de la Noi, fara sa constate Profesionalismul , Calitatea Produselor si preturile ad]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">NIMENI nu pleaca de la Noi, fara sa constate Profesionalismul , Calitatea Produselor si preturile adaptate la piata din ROMANIA.</span></p>
<p class="MsoNormal" style="margin:0;">
<p class="MsoNormal" style="margin:0;">
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">S.C. Valmari93 S.R.L.</span></p>
<p class="MsoNormal" style="margin:0;">www.valmari93.ro</p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Adresa : Ploiesti , Str. Marasesti nr. 12 In spatele Cinema Patria </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Tel: 0244/597478</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Id Yahoo Messenger : val93srl</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">E-mail : <a href="mailto:val93srl@yahoo.co.uk">val93srl@yahoo.co.uk</a></span></p>
<p class="MsoNormal" style="margin:0;">link :  <a href="http://www.valmari93.ro/">http://www.valmari93.ro/</a>    Produsele in DETALIU inclusiv  OFERTELE !!!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Клава]]></title>
<link>http://loadspb.wordpress.com/2008/04/06/%d0%9a%d0%bb%d0%b0%d0%b2%d0%b0/</link>
<pubDate>Sat, 05 Apr 2008 21:20:27 +0000</pubDate>
<dc:creator>Load</dc:creator>
<guid>http://loadspb.wordpress.com/2008/04/06/%d0%9a%d0%bb%d0%b0%d0%b2%d0%b0/</guid>
<description><![CDATA[Сегодня залез на сайт Chicony, чью клаву купил примерно год назад, и оказалось, что она должна была ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img src="http://www.chicony.com.ua/pages/multimedia/KBP0401.jpg" alt="Клавиатура" width="450" height="281" /></p>
<p>Сегодня залез на сайт Chicony, чью клаву купил примерно год назад, и оказалось, что она должна была поставляться с подложкой.. клаву перевернул &#8211; вроде разьемы есть.. Вообщем обламался</p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
