Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

JinRyu

macrumors newbie
Original poster
This program source displays the decoded image source which received data from socket to the screen.
There is some problem in this source which I do not know...
If I make comment the last end of the code ( [imgview setImage😛rocessedImage] ) it works fine but
image doesn't displays.
but if I use the code ( [imgview setImage😛rocessedImage] ) in the end of the code the program dies in 5 minute.
I would like to know why.....


retvalue = DecompressFrame(aBuffer, [data length], _rgbdata, buffersize);

size_t pixelsWide = 176;
size_t pixelsHigh = 144;
int m_xy_size = pixelsWide * pixelsHigh;
int bitsPerComponent = 8;
int bitmapByteCount;

int numberOfCompponents = 3;//CGColorSpaceGetNumberOfComponents(colorSpace); //always returns 3 -> unsupported parameter combination
int bitsPerPixel = bitsPerComponent * numberOfCompponents;
int bitmapBytesPerRow = (pixelsWide * numberOfCompponents);
bitmapByteCount = (bitmapBytesPerRow * pixelsHigh);

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();


// 화면 뒤집기
unsigned char *imageData;
imageData = (unsigned char *)malloc(m_xy_size*3);
memcpy(imageData, _rgbdata, m_xy_size*3 * sizeof(unsigned char));
int i,j,k;
for(j=0, k=pixelsHigh-1; j< pixelsHigh; j++, k--)
{
for ( i = 0; i < pixelsWide; i++)
{
imageData[(j*pixelsWide+i)*3+2] = imageDataAsInts[(k*pixelsWide+i)+3];
imageData[(j*pixelsWide+i)*3+1] = imageDataAsInts[(k*pixelsWide+i)*3+1];
imageData[(j*pixelsWide+i)*3] = imageDataAsInts[(k*pixelsWide+i)*3+2];
}
}

CGDataProviderRef dataProvider = CGDataProviderCreateWithData(NULL, imageData, bitmapByteCount, NULL);

CGImageRef cgImage = CGImageCreate(pixelsWide, pixelsHigh, bitsPerComponent,
bitsPerPixel, bitmapBytesPerRow, colorSpace, kCGImageAlphaNone,
dataProvider, NULL, false, kCGRenderingIntentDefault);

UIImage *processedImage = [UIImage imageWithCGImage:cgImage];
CGDataProviderRelease(dataProvider);
CGColorSpaceRelease(colorSpace);



[imgview setImage😛rocessedImage];
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.