<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for Kerry D. Wong</title>
	<atom:link href="http://www.kerrywong.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kerrywong.com</link>
	<description></description>
	<lastBuildDate>Fri, 03 Jul 2009 23:08:14 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on JScript Exception in AJAX Control Toolkit by Hein</title>
		<link>http://www.kerrywong.com/2008/01/21/jscript-exception-in-ajax-control-toolkit/comment-page-1/#comment-34667</link>
		<dc:creator>Hein</dc:creator>
		<pubDate>Fri, 03 Jul 2009 23:08:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.kerrywong.com/2008/01/21/jscript-exception-in-ajax-control-toolkit/#comment-34667</guid>
		<description>It Worked like a charm. Thanks.</description>
		<content:encoded><![CDATA[<p>It Worked like a charm. Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Interfacing IPP with Magick++ by chip</title>
		<link>http://www.kerrywong.com/2009/03/17/interfacing-ipp-with-magick/comment-page-1/#comment-34543</link>
		<dc:creator>chip</dc:creator>
		<pubDate>Thu, 02 Jul 2009 00:08:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.kerrywong.com/?p=864#comment-34543</guid>
		<description>the problem was solved. I am forget to include function convert image RGB to GRAY.
 

#include &quot;cv.h&quot;
#include &quot;highgui.h&quot;
#include &quot;ipp.h&quot;
#include 
#include 

char name[] = &quot;lena.jpg&quot;;
void openWindow_8u( Ipp8u *img, IppiSize *size, int nChannels,char *name, int wait );
void closeWindow_8u( char *name );

int main()
{
	IppStatus sts;	
	Ipp8u *ipprgb = NULL;
	Ipp8u *ippgray = NULL;
	Ipp8u *ippedge = NULL; 
	Ipp8u *buffer = NULL;
	Ipp16s *dx, *dy;

	IppiSize imgsize,roi;

	Ipp32f low=8.0f, high =12.0f;
	int size, size1;
	IplImage *img = NULL; 

	int wait=0;
	img = cvLoadImage( name, -1 ); 
	imgsize.width = img-&gt;width; 
	imgsize.height = img-&gt;height; 
	roi.width = img-&gt;width; 
	roi.height = img-&gt;height; 

	ipprgb = ippsMalloc_8u( imgsize.width * imgsize.height * 3 );
	ippgray = ippsMalloc_8u( imgsize.width * imgsize.height );
	ippiCopy_8u_C3R((Ipp8u *) img-&gt;imageData, imgsize.width * 3, ipprgb, imgsize.width * 3, imgsize );
	ippiRGBToGray_8u_C3C1R ( ipprgb, imgsize.width*3, ippgray, imgsize.width, imgsize );

	double t = (double)cvGetTickCount();
	
	sts = ippiFilterSobelNegVertGetBufferSize_8u16s_C1R(roi, ippMskSize3x3, &amp;size);
	sts = ippiFilterSobelHorizGetBufferSize_8u16s_C1R(roi, ippMskSize3x3, &amp;size1);
	if(size&lt;size1)size=size1;
	ippiCannyGetSize(roi,&amp;size1);
	if (sizewidth; 
	sizeCv.height = size-&gt;height; 
	cvImg = cvCreateImage( sizeCv, IPL_DEPTH_8U, nChannels );
	tmp = ippsMalloc_8u( size-&gt;width * size-&gt;height * nChannels );
	ippiCopy_8u_C3R( img, size-&gt;width * nChannels,
	tmp, size-&gt;width * nChannels, *size );
	cvSetData( cvImg, (void *) tmp, sizeCv.width * nChannels );
	cvNamedWindow( name, 1 ); 
	cvShowImage( name, cvImg ); 
	cvWaitKey( wait ); 
	cvReleaseImage( &amp;cvImg ); 
}
void closeWindow_8u( char *name )
{
	cvDestroyWindow( name ); 
}</description>
		<content:encoded><![CDATA[<p>the problem was solved. I am forget to include function convert image RGB to GRAY.</p>
<p>#include &#8220;cv.h&#8221;<br />
#include &#8220;highgui.h&#8221;<br />
#include &#8220;ipp.h&#8221;<br />
#include<br />
#include </p>
<p>char name[] = &#8220;lena.jpg&#8221;;<br />
void openWindow_8u( Ipp8u *img, IppiSize *size, int nChannels,char *name, int wait );<br />
void closeWindow_8u( char *name );</p>
<p>int main()<br />
{<br />
	IppStatus sts;<br />
	Ipp8u *ipprgb = NULL;<br />
	Ipp8u *ippgray = NULL;<br />
	Ipp8u *ippedge = NULL;<br />
	Ipp8u *buffer = NULL;<br />
	Ipp16s *dx, *dy;</p>
<p>	IppiSize imgsize,roi;</p>
<p>	Ipp32f low=8.0f, high =12.0f;<br />
	int size, size1;<br />
	IplImage *img = NULL; </p>
<p>	int wait=0;<br />
	img = cvLoadImage( name, -1 );<br />
	imgsize.width = img-&gt;width;<br />
	imgsize.height = img-&gt;height;<br />
	roi.width = img-&gt;width;<br />
	roi.height = img-&gt;height; </p>
<p>	ipprgb = ippsMalloc_8u( imgsize.width * imgsize.height * 3 );<br />
	ippgray = ippsMalloc_8u( imgsize.width * imgsize.height );<br />
	ippiCopy_8u_C3R((Ipp8u *) img-&gt;imageData, imgsize.width * 3, ipprgb, imgsize.width * 3, imgsize );<br />
	ippiRGBToGray_8u_C3C1R ( ipprgb, imgsize.width*3, ippgray, imgsize.width, imgsize );</p>
<p>	double t = (double)cvGetTickCount();</p>
<p>	sts = ippiFilterSobelNegVertGetBufferSize_8u16s_C1R(roi, ippMskSize3&#215;3, &amp;size);<br />
	sts = ippiFilterSobelHorizGetBufferSize_8u16s_C1R(roi, ippMskSize3&#215;3, &amp;size1);<br />
	if(size&lt;size1)size=size1;<br />
	ippiCannyGetSize(roi,&amp;size1);<br />
	if (sizewidth;<br />
	sizeCv.height = size-&gt;height;<br />
	cvImg = cvCreateImage( sizeCv, IPL_DEPTH_8U, nChannels );<br />
	tmp = ippsMalloc_8u( size-&gt;width * size-&gt;height * nChannels );<br />
	ippiCopy_8u_C3R( img, size-&gt;width * nChannels,<br />
	tmp, size-&gt;width * nChannels, *size );<br />
	cvSetData( cvImg, (void *) tmp, sizeCv.width * nChannels );<br />
	cvNamedWindow( name, 1 );<br />
	cvShowImage( name, cvImg );<br />
	cvWaitKey( wait );<br />
	cvReleaseImage( &amp;cvImg );<br />
}<br />
void closeWindow_8u( char *name )<br />
{<br />
	cvDestroyWindow( name );<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Interfacing IPP with Magick++ by chip</title>
		<link>http://www.kerrywong.com/2009/03/17/interfacing-ipp-with-magick/comment-page-1/#comment-34515</link>
		<dc:creator>chip</dc:creator>
		<pubDate>Wed, 01 Jul 2009 09:18:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.kerrywong.com/?p=864#comment-34515</guid>
		<description>HI,
nice tutorial.
I tried canny detector using IPP with highGUI opencv, but the output was unexpected.
here is the code:
#include &quot;cv.h&quot;
#include &quot;highgui.h&quot;
#include &quot;ipp.h&quot;
#include 
// file example.bmp in our images directory
char name[] = &quot;baboon.jpg&quot;;
// functions defined after main()
void openWindow_8u( Ipp8u *img, IppiSize *size, int nChannels,char *name, int wait );
void closeWindow_8u( char *name );
int main()
{
IppStatus sts;	
// define Ipp8u image pointer rgb
Ipp8u *ipprgb = NULL;  
Ipp8u *dst = NULL; Ipp8u *buffer = NULL;
Ipp16s *dx, *dy;

// size of our images
IppiSize imgsize,roi;

Ipp32f low=30.0f, high =100.0f;
int size, size1, srcStep, dxStep, dyStep, dstStep;
// pointers to our result images
Ipp8u *ippxyz = NULL, *ipphls = NULL, *ippluv = NULL;
IplImage* img = NULL; // new IplImage structure img

int i = 0, j = 0, wait=0;
img = cvLoadImage( name, -1 ); // load a BMP ipprgb image into img
imgsize.width = img-&gt;width; // size of IPP images is the same
imgsize.height = img-&gt;height; // as read image img
roi.width = img-&gt;width; // *********************
roi.height = img-&gt;height; // *********************
// memory allocation for rgb
ipprgb = ippsMalloc_8u( imgsize.width * imgsize.height * 3 );

// the pointer of our OpenCV data is our IPP image pointer
ippiCopy_8u_C3R((Ipp8u *) img-&gt;imageData, imgsize.width * 3, ipprgb, imgsize.width * 3, imgsize );

sts = ippiFilterSobelNegVertGetBufferSize_8u16s_C1R(roi, ippMskSize3x3, &amp;size);//*********************
sts = ippiFilterSobelHorizGetBufferSize_8u16s_C1R(roi, ippMskSize3x3, &amp;size1);//***********************
if(size&lt;size1)size=size1;//**********
ippiCannyGetSize(roi,&amp;size1);//**************
if (size&lt;size1) size=size1;//******************
buffer = ippsMalloc_8u(size);//*******************
dx = ippsMalloc_16s(size);//******
dy = ippsMalloc_16s(size);//********
dst = ippsMalloc_8u(size);//********
sts = ippiFilterSobelNegVertBorder_8u16s_C1R (ipprgb, (imgsize.width*3+2), dx, (imgsize.width+2)*2  ,roi, ippMskSize3x3, ippBorderRepl, 0, buffer);
sts = ippiFilterSobelHorizBorder_8u16s_C1R(ipprgb, (imgsize.width*3+2 ), dy, (imgsize.width+2 )*2  ,roi, ippMskSize3x3, ippBorderRepl, 0, buffer);
sts = ippiCanny_16s8u_C1R(dx,(imgsize.width+2)*2 , dy, (imgsize.width+2)*2 , dst, (imgsize.width), roi, low, high, buffer);
ippsFree(buffer);

openWindow_8u( dst, &amp;roi, 1, &quot;dest&quot;, 0 ); // display xyz image
openWindow_8u( ipprgb, &amp;imgsize, 3, &quot;rgb&quot;, 0 ); // display rgb image


cvWaitKey( wait ); // wait for key (==0) or wait milliseconds

closeWindow_8u( &quot;dest&quot; ); // close luv image
closeWindow_8u( &quot;rgb&quot; ); // close rgb image
ippsFree( ipprgb ); // memory release with IPP
ippsFree( dst ); // memory release with IPP
cvReleaseImage( &amp;img ); // memory release with OpenCV
return( 0 );
}

thanks for help!

regards.</description>
		<content:encoded><![CDATA[<p>HI,<br />
nice tutorial.<br />
I tried canny detector using IPP with highGUI opencv, but the output was unexpected.<br />
here is the code:<br />
#include &#8220;cv.h&#8221;<br />
#include &#8220;highgui.h&#8221;<br />
#include &#8220;ipp.h&#8221;<br />
#include<br />
// file example.bmp in our images directory<br />
char name[] = &#8220;baboon.jpg&#8221;;<br />
// functions defined after main()<br />
void openWindow_8u( Ipp8u *img, IppiSize *size, int nChannels,char *name, int wait );<br />
void closeWindow_8u( char *name );<br />
int main()<br />
{<br />
IppStatus sts;<br />
// define Ipp8u image pointer rgb<br />
Ipp8u *ipprgb = NULL;<br />
Ipp8u *dst = NULL; Ipp8u *buffer = NULL;<br />
Ipp16s *dx, *dy;</p>
<p>// size of our images<br />
IppiSize imgsize,roi;</p>
<p>Ipp32f low=30.0f, high =100.0f;<br />
int size, size1, srcStep, dxStep, dyStep, dstStep;<br />
// pointers to our result images<br />
Ipp8u *ippxyz = NULL, *ipphls = NULL, *ippluv = NULL;<br />
IplImage* img = NULL; // new IplImage structure img</p>
<p>int i = 0, j = 0, wait=0;<br />
img = cvLoadImage( name, -1 ); // load a BMP ipprgb image into img<br />
imgsize.width = img-&gt;width; // size of IPP images is the same<br />
imgsize.height = img-&gt;height; // as read image img<br />
roi.width = img-&gt;width; // *********************<br />
roi.height = img-&gt;height; // *********************<br />
// memory allocation for rgb<br />
ipprgb = ippsMalloc_8u( imgsize.width * imgsize.height * 3 );</p>
<p>// the pointer of our OpenCV data is our IPP image pointer<br />
ippiCopy_8u_C3R((Ipp8u *) img-&gt;imageData, imgsize.width * 3, ipprgb, imgsize.width * 3, imgsize );</p>
<p>sts = ippiFilterSobelNegVertGetBufferSize_8u16s_C1R(roi, ippMskSize3&#215;3, &amp;size);//*********************<br />
sts = ippiFilterSobelHorizGetBufferSize_8u16s_C1R(roi, ippMskSize3&#215;3, &amp;size1);//***********************<br />
if(size&lt;size1)size=size1;//**********<br />
ippiCannyGetSize(roi,&amp;size1);//**************<br />
if (size&lt;size1) size=size1;//******************<br />
buffer = ippsMalloc_8u(size);//*******************<br />
dx = ippsMalloc_16s(size);//******<br />
dy = ippsMalloc_16s(size);//********<br />
dst = ippsMalloc_8u(size);//********<br />
sts = ippiFilterSobelNegVertBorder_8u16s_C1R (ipprgb, (imgsize.width*3+2), dx, (imgsize.width+2)*2  ,roi, ippMskSize3&#215;3, ippBorderRepl, 0, buffer);<br />
sts = ippiFilterSobelHorizBorder_8u16s_C1R(ipprgb, (imgsize.width*3+2 ), dy, (imgsize.width+2 )*2  ,roi, ippMskSize3&#215;3, ippBorderRepl, 0, buffer);<br />
sts = ippiCanny_16s8u_C1R(dx,(imgsize.width+2)*2 , dy, (imgsize.width+2)*2 , dst, (imgsize.width), roi, low, high, buffer);<br />
ippsFree(buffer);</p>
<p>openWindow_8u( dst, &amp;roi, 1, &quot;dest&quot;, 0 ); // display xyz image<br />
openWindow_8u( ipprgb, &amp;imgsize, 3, &quot;rgb&quot;, 0 ); // display rgb image</p>
<p>cvWaitKey( wait ); // wait for key (==0) or wait milliseconds</p>
<p>closeWindow_8u( &quot;dest&quot; ); // close luv image<br />
closeWindow_8u( &quot;rgb&quot; ); // close rgb image<br />
ippsFree( ipprgb ); // memory release with IPP<br />
ippsFree( dst ); // memory release with IPP<br />
cvReleaseImage( &amp;img ); // memory release with OpenCV<br />
return( 0 );<br />
}</p>
<p>thanks for help!</p>
<p>regards.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on WebForm_AutoFocus Issue with Custom Pages in dasBlog by Jon</title>
		<link>http://www.kerrywong.com/2007/05/04/webform_autofocus-issue-with-custom-pages-in-dasblog/comment-page-1/#comment-34095</link>
		<dc:creator>Jon</dc:creator>
		<pubDate>Mon, 22 Jun 2009 18:37:25 +0000</pubDate>
		<guid isPermaLink="false">http://dimension/2007/05/04/webform_autofocus-issue-with-custom-pages-in-dasblog/#comment-34095</guid>
		<description>Kerry, the link you included for ross hawkins, above no longer works, but I found this one, which may be the same article:

http://rosshawkins.net/archive/2006/10/08/webresource.axd.aspx

Hope this helps,

Jon</description>
		<content:encoded><![CDATA[<p>Kerry, the link you included for ross hawkins, above no longer works, but I found this one, which may be the same article:</p>
<p><a href="http://rosshawkins.net/archive/2006/10/08/webresource.axd.aspx" rel="nofollow">http://rosshawkins.net/archive/2006/10/08/webresource.axd.aspx</a></p>
<p>Hope this helps,</p>
<p>Jon</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Setting up WordPress on Ubuntu Server &#8212; Step by Step by adi</title>
		<link>http://www.kerrywong.com/2009/02/22/setting-up-wordpress-on-ubuntu-server-step-by-step/comment-page-1/#comment-34026</link>
		<dc:creator>adi</dc:creator>
		<pubDate>Sun, 21 Jun 2009 07:25:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.kerrywong.com/?p=552#comment-34026</guid>
		<description>nice info bro.that will be nice if you want to see my blog. maybe we can share about computer. just check my linkthank you:)</description>
		<content:encoded><![CDATA[<p>nice info bro.that will be nice if you want to see my blog. maybe we can share about computer. just check my linkthank you:)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Matrix Multiplication Performance in C++ by wesmo</title>
		<link>http://www.kerrywong.com/2009/03/07/matrix-multiplication-performance-in-c/comment-page-1/#comment-33644</link>
		<dc:creator>wesmo</dc:creator>
		<pubDate>Mon, 15 Jun 2009 05:39:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.kerrywong.com/?p=586#comment-33644</guid>
		<description>Thanks for the comparision; a useful insight. In your comparison, a very old version of matlab selected was.

Newer Matlab versions:

Have updated the MATLAB BLAS and LAPACK libraries used 
Use more recent AMD and Intel MKL
Allow the user to specify an external Intel MKL
Have introduced multithreaded implementations as default for some mathematical functions</description>
		<content:encoded><![CDATA[<p>Thanks for the comparision; a useful insight. In your comparison, a very old version of matlab selected was.</p>
<p>Newer Matlab versions:</p>
<p>Have updated the MATLAB BLAS and LAPACK libraries used<br />
Use more recent AMD and Intel MKL<br />
Allow the user to specify an external Intel MKL<br />
Have introduced multithreaded implementations as default for some mathematical functions</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A Line of Code Could Bring Visual Studio .Net Down to Its Knees by Kerry D Wong Blog Archive A Line of Code Could Bring Visual &#124; volleyball equipment</title>
		<link>http://www.kerrywong.com/2008/06/06/a-line-of-code-could-bring-visual-studio-net-down-to-its-knees/comment-page-1/#comment-33624</link>
		<dc:creator>Kerry D Wong Blog Archive A Line of Code Could Bring Visual &#124; volleyball equipment</dc:creator>
		<pubDate>Sun, 14 Jun 2009 21:40:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.kerrywong.com/2008/06/06/a-line-of-code-could-bring-visual-studio-net-down-to-its-knees/#comment-33624</guid>
		<description>[...] Kerry D Wong Blog Archive A Line of Code Could Bring Visual   Posted by root 21 minutes ago (http://www.kerrywong.com)        Net language compilers vbc and csc in terms of what is the maximum line length it can handle it seems that for c one comment says august 27 2008 at 9 00 am nice article powered by wordpress original theme by srinig        Discuss&#160;  &#124;&#160; Bury &#124;&#160;    News &#124; Kerry D Wong Blog Archive A Line of Code Could Bring Visual [...]</description>
		<content:encoded><![CDATA[<p>[...] Kerry D Wong Blog Archive A Line of Code Could Bring Visual   Posted by root 21 minutes ago (<a href="http://www.kerrywong.com" rel="nofollow">http://www.kerrywong.com</a>)        Net language compilers vbc and csc in terms of what is the maximum line length it can handle it seems that for c one comment says august 27 2008 at 9 00 am nice article powered by wordpress original theme by srinig        Discuss&nbsp;  |&nbsp; Bury |&nbsp;    News | Kerry D Wong Blog Archive A Line of Code Could Bring Visual [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Three Ways to Reverse a String in C# by chong yeow</title>
		<link>http://www.kerrywong.com/2006/03/04/three-ways-to-reverse-a-string-in-c/comment-page-1/#comment-33475</link>
		<dc:creator>chong yeow</dc:creator>
		<pubDate>Fri, 12 Jun 2009 07:19:39 +0000</pubDate>
		<guid isPermaLink="false">http://dimension/2006/03/04/three-ways-to-reverse-a-string-in-c/#comment-33475</guid>
		<description>private string recursive(string s, int i)
		{
			if (i == 0)
			{
				return s.Substring(s.Length/2,s.Length/2);
			}
			else
			{
				return recursive(s + s.Substring(i-1,1), i-1);
			}
		}</description>
		<content:encoded><![CDATA[<p>private string recursive(string s, int i)<br />
		{<br />
			if (i == 0)<br />
			{<br />
				return s.Substring(s.Length/2,s.Length/2);<br />
			}<br />
			else<br />
			{<br />
				return recursive(s + s.Substring(i-1,1), i-1);<br />
			}<br />
		}</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Setting up WordPress on Ubuntu Server &#8212; Step by Step by Kerry D Wong Blog Archive Setting up WordPress on Ubuntu &#124; Wood TV Stand</title>
		<link>http://www.kerrywong.com/2009/02/22/setting-up-wordpress-on-ubuntu-server-step-by-step/comment-page-1/#comment-32988</link>
		<dc:creator>Kerry D Wong Blog Archive Setting up WordPress on Ubuntu &#124; Wood TV Stand</dc:creator>
		<pubDate>Sun, 31 May 2009 23:07:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.kerrywong.com/?p=552#comment-32988</guid>
		<description>[...] Kerry D Wong Blog Archive Setting up WordPress on Ubuntu   Posted by root 1 hour 33 minutes ago (http://www.kerrywong.com)        I have also included some screen shots from the text mode ubuntu server setup so that newbies would find the task to configure word press as simple as anything reply to this comment powered by wordpress original theme by srinig        Discuss&#160;  &#124;&#160; Bury &#124;&#160;    News &#124; Kerry D Wong Blog Archive Setting up WordPress on Ubuntu [...]</description>
		<content:encoded><![CDATA[<p>[...] Kerry D Wong Blog Archive Setting up WordPress on Ubuntu   Posted by root 1 hour 33 minutes ago (<a href="http://www.kerrywong.com" rel="nofollow">http://www.kerrywong.com</a>)        I have also included some screen shots from the text mode ubuntu server setup so that newbies would find the task to configure word press as simple as anything reply to this comment powered by wordpress original theme by srinig        Discuss&nbsp;  |&nbsp; Bury |&nbsp;    News | Kerry D Wong Blog Archive Setting up WordPress on Ubuntu [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Interfacing IPP with Magick++ by Andriy M</title>
		<link>http://www.kerrywong.com/2009/03/17/interfacing-ipp-with-magick/comment-page-1/#comment-32740</link>
		<dc:creator>Andriy M</dc:creator>
		<pubDate>Thu, 28 May 2009 00:40:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.kerrywong.com/?p=864#comment-32740</guid>
		<description>Thanks for sharing this,

I think your reading and writing from IPP has an error. 
While converting from a standard image file, you should use

imgCache[column + row * stepByte/sizeof(Ipp8u)] = (char) i;
instead of 
imgCache[column + row * width] = (char) i;

The stebByte is a number of bytes between the horizontal lines (as allocated by ippiMalloc_8u_C1).
This number may or may not be equal to the width.(even though you specify height and width).

For the Ipp8u type, size(Ipp8u)=1, so the stepByte/sizeof(Ipp8u) is slightly redundant.

In my problem I used Ipp32f type so I had to use stepByte/sizeof(Ipp32f).
I used ippiMalloc_32f_C1(width,height, &amp;stepByte); to allocate memory.
It turned out that stepByte/sizeof(Ipp32f) is slightly longer than actually image width.

I wonder why? Perhaps ippiMalloc allocates aligned memory for faster memory access, which
can be slightly larger than actual image. If anybody can comment on this, I&#039;d appreciate!

Then when performing any operation,e.g. Sobel filter, you should use stepByte as a length
between lines, instead of width.

Any comments appreciated, thanks</description>
		<content:encoded><![CDATA[<p>Thanks for sharing this,</p>
<p>I think your reading and writing from IPP has an error.<br />
While converting from a standard image file, you should use</p>
<p>imgCache[column + row * stepByte/sizeof(Ipp8u)] = (char) i;<br />
instead of<br />
imgCache[column + row * width] = (char) i;</p>
<p>The stebByte is a number of bytes between the horizontal lines (as allocated by ippiMalloc_8u_C1).<br />
This number may or may not be equal to the width.(even though you specify height and width).</p>
<p>For the Ipp8u type, size(Ipp8u)=1, so the stepByte/sizeof(Ipp8u) is slightly redundant.</p>
<p>In my problem I used Ipp32f type so I had to use stepByte/sizeof(Ipp32f).<br />
I used ippiMalloc_32f_C1(width,height, &amp;stepByte); to allocate memory.<br />
It turned out that stepByte/sizeof(Ipp32f) is slightly longer than actually image width.</p>
<p>I wonder why? Perhaps ippiMalloc allocates aligned memory for faster memory access, which<br />
can be slightly larger than actual image. If anybody can comment on this, I&#8217;d appreciate!</p>
<p>Then when performing any operation,e.g. Sobel filter, you should use stepByte as a length<br />
between lines, instead of width.</p>
<p>Any comments appreciated, thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Setting up WordPress on Ubuntu Server &#8212; Step by Step by pandiana</title>
		<link>http://www.kerrywong.com/2009/02/22/setting-up-wordpress-on-ubuntu-server-step-by-step/comment-page-1/#comment-32313</link>
		<dc:creator>pandiana</dc:creator>
		<pubDate>Fri, 22 May 2009 05:49:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.kerrywong.com/?p=552#comment-32313</guid>
		<description>Thanks a lot for your work and it helps me 
to configure word press as simple as anything.</description>
		<content:encoded><![CDATA[<p>Thanks a lot for your work and it helps me<br />
to configure word press as simple as anything.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Three Ways to Reverse a String in C# by Pavan kumar</title>
		<link>http://www.kerrywong.com/2006/03/04/three-ways-to-reverse-a-string-in-c/comment-page-1/#comment-32100</link>
		<dc:creator>Pavan kumar</dc:creator>
		<pubDate>Tue, 19 May 2009 10:52:24 +0000</pubDate>
		<guid isPermaLink="false">http://dimension/2006/03/04/three-ways-to-reverse-a-string-in-c/#comment-32100</guid>
		<description>Hi Kerry D,

 I tried all the methods but third one is not working. But it looks good. could you please recode it.

Pavan</description>
		<content:encoded><![CDATA[<p>Hi Kerry D,</p>
<p> I tried all the methods but third one is not working. But it looks good. could you please recode it.</p>
<p>Pavan</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Flash Drive Stress Test by Taylor</title>
		<link>http://www.kerrywong.com/2007/01/05/flash-drive-stress-test/comment-page-1/#comment-31768</link>
		<dc:creator>Taylor</dc:creator>
		<pubDate>Thu, 14 May 2009 13:03:56 +0000</pubDate>
		<guid isPermaLink="false">http://dimension/2007/01/05/flash-drive-stress-test/#comment-31768</guid>
		<description>Is there a chance you&#039;ll post the source to this program so I can do this on my own equipment? TIA.</description>
		<content:encoded><![CDATA[<p>Is there a chance you&#8217;ll post the source to this program so I can do this on my own equipment? TIA.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on MS-DEBUG 1981 &#8211; 2009 by James O'Neill</title>
		<link>http://www.kerrywong.com/2009/05/08/ms-debug-1981-2009/comment-page-1/#comment-31543</link>
		<dc:creator>James O'Neill</dc:creator>
		<pubDate>Mon, 11 May 2009 19:14:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.kerrywong.com/?p=1047#comment-31543</guid>
		<description>Debug is a 16 bit app, so it runs in the NTVDM (virtual DOS machine). If you have 32 bit Vista / Server 2008 (and I think Windows 7) you have Debug. If you have the 64 bit version of Vista, Win7, Server 2008 and server 2008 R2 (which is 64 bit only) there is no VDM and so no Debug.</description>
		<content:encoded><![CDATA[<p>Debug is a 16 bit app, so it runs in the NTVDM (virtual DOS machine). If you have 32 bit Vista / Server 2008 (and I think Windows 7) you have Debug. If you have the 64 bit version of Vista, Win7, Server 2008 and server 2008 R2 (which is 64 bit only) there is no VDM and so no Debug.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on MS-DEBUG 1981 &#8211; 2009 by mirabilos</title>
		<link>http://www.kerrywong.com/2009/05/08/ms-debug-1981-2009/comment-page-1/#comment-31481</link>
		<dc:creator>mirabilos</dc:creator>
		<pubDate>Sun, 10 May 2009 18:24:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.kerrywong.com/?p=1047#comment-31481</guid>
		<description>Oh I will *so* really miss it.

It was such a superb tool to debug
stuff, easier to use than gdb, and
while not as fancy as Borland’s
Turbo Debugger 1.0, one could write
AND SAVE modifications or entire
programmes in it.

And I used it excessively in debugging
the MirBSD MBR, PBR (bootxx), boot-
loader (boot / ldbsd.com) early sy-
stem startup.</description>
		<content:encoded><![CDATA[<p>Oh I will *so* really miss it.</p>
<p>It was such a superb tool to debug<br />
stuff, easier to use than gdb, and<br />
while not as fancy as Borland’s<br />
Turbo Debugger 1.0, one could write<br />
AND SAVE modifications or entire<br />
programmes in it.</p>
<p>And I used it excessively in debugging<br />
the MirBSD MBR, PBR (bootxx), boot-<br />
loader (boot / ldbsd.com) early sy-<br />
stem startup.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on MS-DEBUG 1981 &#8211; 2009 by bovine</title>
		<link>http://www.kerrywong.com/2009/05/08/ms-debug-1981-2009/comment-page-1/#comment-31446</link>
		<dc:creator>bovine</dc:creator>
		<pubDate>Sun, 10 May 2009 07:58:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.kerrywong.com/?p=1047#comment-31446</guid>
		<description>The NTSD/CDB/WinDBG debuggers are the replacement for Win32/Win64 debugging needs.  Windows 2000 (and maybe XP?) shipped with NTSD in the system32 directory.  More recent versions of Windows generally don&#039;t include it, because the online download gets revised frequently: http://www.microsoft.com/whdc/devtools/debugging/default.mspx</description>
		<content:encoded><![CDATA[<p>The NTSD/CDB/WinDBG debuggers are the replacement for Win32/Win64 debugging needs.  Windows 2000 (and maybe XP?) shipped with NTSD in the system32 directory.  More recent versions of Windows generally don&#8217;t include it, because the online download gets revised frequently: <a href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx" rel="nofollow">http://www.microsoft.com/whdc/devtools/debugging/default.mspx</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on MS-DEBUG 1981 &#8211; 2009 by jwiz</title>
		<link>http://www.kerrywong.com/2009/05/08/ms-debug-1981-2009/comment-page-1/#comment-31427</link>
		<dc:creator>jwiz</dc:creator>
		<pubDate>Sun, 10 May 2009 00:59:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.kerrywong.com/?p=1047#comment-31427</guid>
		<description>I used debug back in the good old days also, it was a useful tool.  I remember running it on computers at my high school and changing the register for the file size to ffffff and fill up the network drives with very large empty files.  This was back when then total network drive space was only a few hundred megs.  I&#039;m sure it would take forever to write a couple hundred gig file in debug nowadays though.</description>
		<content:encoded><![CDATA[<p>I used debug back in the good old days also, it was a useful tool.  I remember running it on computers at my high school and changing the register for the file size to ffffff and fill up the network drives with very large empty files.  This was back when then total network drive space was only a few hundred megs.  I&#8217;m sure it would take forever to write a couple hundred gig file in debug nowadays though.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on MS-DEBUG 1981 &#8211; 2009 by Grzegorz</title>
		<link>http://www.kerrywong.com/2009/05/08/ms-debug-1981-2009/comment-page-1/#comment-31423</link>
		<dc:creator>Grzegorz</dc:creator>
		<pubDate>Sat, 09 May 2009 22:48:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.kerrywong.com/?p=1047#comment-31423</guid>
		<description>I have debug on my Polish Windows 7 RC:
Microsoft Windows [Wersja 6.1.7100]
Copyright (c) 2009 Microsoft Corporation. Wszelkie prawa zastrzeżone.

C:\Users\Grzegorz&gt;debug
-d C000:0010
C000:0010  00 00 00 00 00 00 00 00-98 01 00 00 00 00 49 42   ..............IB
C000:0020  4D 0A 00 00 00 00 00 00-00 00 00 00 00 00 00 00   M...............
C000:0030  20 37 36 31 32 39 35 35-32 30 00 00 00 00 00 00    761295520......
C000:0040  3F 3F 00 00 00 00 00 00-22 01 00 00 00 00 00 00   ??......&quot;.......
C000:0050  32 30 30 36 2F 30 33 2F-31 35 20 31 38 3A 32 39   2006/03/15 18:29
C000:0060  00 00 00 00 E9 90 11 00-E9 4C 1D 00 00 00 00 00   .........L......
C000:0070  00 00 08 40 00 00 02 10-55 59 00 00 00 00 00 00   ...@....UY......
C000:0080  0D 0A 52 53 34 38 30 4D-28 48 50 2D 43 42 44 29   ..RS480M(HP-CBD)
-d
C000:0090  2D 20 54 45 53 54 20 42-49 4F 53 20 33 30 30 2F   - TEST BIOS 300/
C000:00A0  31 34 20 42 52 23 31 39-32 32 34 0D 0A 00 28 43   14 BR#19224...(C
C000:00B0  29 20 31 39 38 38 2D 32-30 30 33 2C 20 41 54 49   ) 1988-2003, ATI
C000:00C0  20 54 65 63 68 6E 6F 6C-6F 67 69 65 73 20 49 6E    Technologies In
C000:00D0  63 2E 20 42 4B 2D 41 54-49 20 56 45 52 30 30 38   c. BK-ATI VER008
C000:00E0  2E 30 34 37 49 2E 30 30-31 2E 30 30 31 00 20 79   .047I.001.001. y
C000:00F0  75 63 61 79 65 6E 2E 68-70 20 76 36 31 31 20 00   ucayen.hp v611 .
C000:0100  4D 53 34 38 50 43 49 45-44 47 4E 31 55 4E 00 00   MS48PCIEDGN1UN..
-</description>
		<content:encoded><![CDATA[<p>I have debug on my Polish Windows 7 RC:<br />
Microsoft Windows [Wersja 6.1.7100]<br />
Copyright (c) 2009 Microsoft Corporation. Wszelkie prawa zastrzeżone.</p>
<p>C:\Users\Grzegorz&gt;debug<br />
-d C000:0010<br />
C000:0010  00 00 00 00 00 00 00 00-98 01 00 00 00 00 49 42   &#8230;&#8230;&#8230;&#8230;..IB<br />
C000:0020  4D 0A 00 00 00 00 00 00-00 00 00 00 00 00 00 00   M&#8230;&#8230;&#8230;&#8230;&#8230;<br />
C000:0030  20 37 36 31 32 39 35 35-32 30 00 00 00 00 00 00    761295520&#8230;&#8230;<br />
C000:0040  3F 3F 00 00 00 00 00 00-22 01 00 00 00 00 00 00   ??&#8230;&#8230;&#8221;&#8230;&#8230;.<br />
C000:0050  32 30 30 36 2F 30 33 2F-31 35 20 31 38 3A 32 39   2006/03/15 18:29<br />
C000:0060  00 00 00 00 E9 90 11 00-E9 4C 1D 00 00 00 00 00   &#8230;&#8230;&#8230;L&#8230;&#8230;<br />
C000:0070  00 00 08 40 00 00 02 10-55 59 00 00 00 00 00 00   &#8230;@&#8230;.UY&#8230;&#8230;<br />
C000:0080  0D 0A 52 53 34 38 30 4D-28 48 50 2D 43 42 44 29   ..RS480M(HP-CBD)<br />
-d<br />
C000:0090  2D 20 54 45 53 54 20 42-49 4F 53 20 33 30 30 2F   &#8211; TEST BIOS 300/<br />
C000:00A0  31 34 20 42 52 23 31 39-32 32 34 0D 0A 00 28 43   14 BR#19224&#8230;(C<br />
C000:00B0  29 20 31 39 38 38 2D 32-30 30 33 2C 20 41 54 49   ) 1988-2003, ATI<br />
C000:00C0  20 54 65 63 68 6E 6F 6C-6F 67 69 65 73 20 49 6E    Technologies In<br />
C000:00D0  63 2E 20 42 4B 2D 41 54-49 20 56 45 52 30 30 38   c. BK-ATI VER008<br />
C000:00E0  2E 30 34 37 49 2E 30 30-31 2E 30 30 31 00 20 79   .047I.001.001. y<br />
C000:00F0  75 63 61 79 65 6E 2E 68-70 20 76 36 31 31 20 00   ucayen.hp v611 .<br />
C000:0100  4D 53 34 38 50 43 49 45-44 47 4E 31 55 4E 00 00   MS48PCIEDGN1UN..<br />
-</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on MS-DEBUG 1981 &#8211; 2009 by Safwan</title>
		<link>http://www.kerrywong.com/2009/05/08/ms-debug-1981-2009/comment-page-1/#comment-31416</link>
		<dc:creator>Safwan</dc:creator>
		<pubDate>Sat, 09 May 2009 20:12:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.kerrywong.com/?p=1047#comment-31416</guid>
		<description>Thanks for a nice read. I get a lot of amusement from computer hardware and software stuff, although my profession is non-computer related.</description>
		<content:encoded><![CDATA[<p>Thanks for a nice read. I get a lot of amusement from computer hardware and software stuff, although my profession is non-computer related.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on MS-DEBUG 1981 &#8211; 2009 by /g/eek</title>
		<link>http://www.kerrywong.com/2009/05/08/ms-debug-1981-2009/comment-page-1/#comment-31410</link>
		<dc:creator>/g/eek</dc:creator>
		<pubDate>Sat, 09 May 2009 17:05:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.kerrywong.com/?p=1047#comment-31410</guid>
		<description>Debug these days is only useful for running malware. Since debug can easily run plain binaries entered in hex form, it
s actually just as dangerous as anything else when run with admin privileges. Maybe even more so, as it belongs to Windows itself so it will never show a warning like those on downloaded executables post-xpsp2. Most virus scanners fail to catch debug or ntvdm processes going astray, there&#039;s only so much you can do as a virus scanner.</description>
		<content:encoded><![CDATA[<p>Debug these days is only useful for running malware. Since debug can easily run plain binaries entered in hex form, it<br />
s actually just as dangerous as anything else when run with admin privileges. Maybe even more so, as it belongs to Windows itself so it will never show a warning like those on downloaded executables post-xpsp2. Most virus scanners fail to catch debug or ntvdm processes going astray, there&#8217;s only so much you can do as a virus scanner.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
