Rather than sending an IOSurfaceRef, send an IOSurface *:
- (void)sendFrame:(IOSurface *)frame;
IOSurfaceRef is toll-free bridged to IOSurface *, so all you need to do is cast to IOSurface * and it should work.
This is true of other CF-types. Objective-C types (NSString, NSDictionary, etc.) work via NSXPCConnection but their corresponding CF-types (CFStringRef, CFDictionaryRef, etc.) don't.
Post
Replies
Boosts
Views
Activity
Linear Gamma is preferred for most kinds of image filtering — blending, scaling, blurring, color operations, etc. The traditional workflow is to:
Convert from Source color space to a Linear “Working” color space.
Do image filtering in the Working space.
Convert from Working color space to Output color space.
The Source & Output color spaces are usually gamma-based spaces — Source is often sRGB while Output is usually your monitor profile (which usually has a gamma curve close to sRGB gamma).
With that said, making images “look good” is more of an art than a science. If you can get better results with different gamma curves then use what works.