Skip to content

Commit

Permalink
Fixed some Xcode 6 compilation warnings / errors. Mac framework can n…
Browse files Browse the repository at this point in the history
…ow build as a module in Xcode 6.
  • Loading branch information
BradLarson committed Jun 4, 2014
1 parent 506ec69 commit 9c85264
Show file tree
Hide file tree
Showing 10 changed files with 152 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@
BCB5DDC114E86899000AF3C2 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0500;
LastUpgradeCheck = 0600;
ORGANIZATIONNAME = "Cell Phone";
};
buildConfigurationList = BCB5DDC414E86899000AF3C2 /* Build configuration list for PBXProject "SimpleVideoFileFilter" */;
Expand Down Expand Up @@ -311,9 +311,11 @@
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
Expand Down Expand Up @@ -351,9 +353,11 @@
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0500"
LastUpgradeVersion = "0600"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
22 changes: 20 additions & 2 deletions framework/GPUImage.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,8 @@
BC1B718F14F56C1D00ACA2AB /* GPUImageSwirlFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = BC1B718D14F56C1D00ACA2AB /* GPUImageSwirlFilter.m */; };
BC1B728114FB16AF00ACA2AB /* GPUImageMovieWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = BC1B727F14FB16AF00ACA2AB /* GPUImageMovieWriter.h */; };
BC1B728214FB16AF00ACA2AB /* GPUImageMovieWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = BC1B728014FB16AF00ACA2AB /* GPUImageMovieWriter.m */; };
BC1BBFA8193BC55B0025FC88 /* GPUImageFASTCornerDetectionFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = BC1BBFA6193BC55B0025FC88 /* GPUImageFASTCornerDetectionFilter.h */; };
BC1BBFA9193BC55B0025FC88 /* GPUImageFASTCornerDetectionFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = BC1BBFA7193BC55B0025FC88 /* GPUImageFASTCornerDetectionFilter.m */; };
BC245DCA14DDBED7009FE7EB /* GPUImageFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = BC245DC814DDBED7009FE7EB /* GPUImageFilter.h */; };
BC245DCB14DDBED7009FE7EB /* GPUImageFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = BC245DC914DDBED7009FE7EB /* GPUImageFilter.m */; };
BC27A3CB15654F5A004F2D45 /* GPUImagePerlinNoiseFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = BC27A3C915654F5A004F2D45 /* GPUImagePerlinNoiseFilter.h */; };
Expand Down Expand Up @@ -451,6 +453,8 @@
BC1B718D14F56C1D00ACA2AB /* GPUImageSwirlFilter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GPUImageSwirlFilter.m; path = Source/GPUImageSwirlFilter.m; sourceTree = SOURCE_ROOT; };
BC1B727F14FB16AF00ACA2AB /* GPUImageMovieWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GPUImageMovieWriter.h; path = Source/iOS/GPUImageMovieWriter.h; sourceTree = SOURCE_ROOT; };
BC1B728014FB16AF00ACA2AB /* GPUImageMovieWriter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GPUImageMovieWriter.m; path = Source/iOS/GPUImageMovieWriter.m; sourceTree = SOURCE_ROOT; };
BC1BBFA6193BC55B0025FC88 /* GPUImageFASTCornerDetectionFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GPUImageFASTCornerDetectionFilter.h; path = Source/GPUImageFASTCornerDetectionFilter.h; sourceTree = SOURCE_ROOT; };
BC1BBFA7193BC55B0025FC88 /* GPUImageFASTCornerDetectionFilter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GPUImageFASTCornerDetectionFilter.m; path = Source/GPUImageFASTCornerDetectionFilter.m; sourceTree = SOURCE_ROOT; };
BC245DBF14DDBCF5009FE7EB /* GPUImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GPUImage.h; path = Source/GPUImage.h; sourceTree = SOURCE_ROOT; };
BC245DC814DDBED7009FE7EB /* GPUImageFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GPUImageFilter.h; path = Source/GPUImageFilter.h; sourceTree = SOURCE_ROOT; };
BC245DC914DDBED7009FE7EB /* GPUImageFilter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GPUImageFilter.m; path = Source/GPUImageFilter.m; sourceTree = SOURCE_ROOT; };
Expand Down Expand Up @@ -1061,6 +1065,8 @@
BCAD4CA2156F0F35001E50E1 /* GPUImageNobleCornerDetectionFilter.m */,
BCAD4C9C156F0D8E001E50E1 /* GPUImageShiTomasiFeatureDetectionFilter.h */,
BCAD4C9D156F0D8E001E50E1 /* GPUImageShiTomasiFeatureDetectionFilter.m */,
BC1BBFA6193BC55B0025FC88 /* GPUImageFASTCornerDetectionFilter.h */,
BC1BBFA7193BC55B0025FC88 /* GPUImageFASTCornerDetectionFilter.m */,
BCAD099D15506F6E00278521 /* GPUImageNonMaximumSuppressionFilter.h */,
BCAD099E15506F6E00278521 /* GPUImageNonMaximumSuppressionFilter.m */,
BCA6327F1623C80800EEB24F /* GPUImageThresholdedNonMaximumSuppressionFilter.h */,
Expand Down Expand Up @@ -1308,6 +1314,7 @@
BC0690BD157C1B38009274F9 /* GPUImageOpeningFilter.h in Headers */,
BC0690C1157C2368009274F9 /* GPUImageClosingFilter.h in Headers */,
BC0690D0157C2EBA009274F9 /* GPUImageRGBDilationFilter.h in Headers */,
BC1BBFA8193BC55B0025FC88 /* GPUImageFASTCornerDetectionFilter.h in Headers */,
BC0690D5157C31C9009274F9 /* GPUImageRGBErosionFilter.h in Headers */,
BC0690D9157C33B9009274F9 /* GPUImageRGBOpeningFilter.h in Headers */,
BC0690DD157C344D009274F9 /* GPUImageRGBClosingFilter.h in Headers */,
Expand Down Expand Up @@ -1402,7 +1409,7 @@
name = GPUImageTests;
productName = GPUImageTests;
productReference = BCF1A34414DDB1EC00852800 /* GPUImageTests.octest */;
productType = "com.apple.product-type.bundle";
productType = "com.apple.product-type.bundle.ocunit-test";
};
/* End PBXNativeTarget section */

Expand All @@ -1411,7 +1418,7 @@
isa = PBXProject;
attributes = {
LastTestingUpgradeCheck = 0510;
LastUpgradeCheck = 0500;
LastUpgradeCheck = 0600;
ORGANIZATIONNAME = "Brad Larson";
};
buildConfigurationList = BCF1A32E14DDB1EC00852800 /* Build configuration list for PBXProject "GPUImage" */;
Expand Down Expand Up @@ -1577,6 +1584,7 @@
BCAD4D211571CB50001E50E1 /* GPUImageWeakPixelInclusionFilter.m in Sources */,
BC56D82B1579779700CC9C1E /* GPUImageUIElement.m in Sources */,
BC56D84B157ADA4F00CC9C1E /* GPUImageDilationFilter.m in Sources */,
BC1BBFA9193BC55B0025FC88 /* GPUImageFASTCornerDetectionFilter.m in Sources */,
BC56D850157ADA6F00CC9C1E /* GPUImageErosionFilter.m in Sources */,
BC0690B9157C0C28009274F9 /* GPUImageTwoPassTextureSamplingFilter.m in Sources */,
BC0690BE157C1B38009274F9 /* GPUImageOpeningFilter.m in Sources */,
Expand Down Expand Up @@ -1698,8 +1706,11 @@
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEFINES_MODULE = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
Expand All @@ -1718,7 +1729,9 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 4.0;
MODULEMAP_FILE = "";
ONLY_ACTIVE_ARCH = YES;
PRODUCT_MODULE_NAME = GPUImage;
RUN_CLANG_STATIC_ANALYZER = YES;
SDKROOT = iphoneos;
SYMROOT = "$(PROJECT_DIR)/../build";
Expand All @@ -1735,8 +1748,11 @@
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = YES;
DEFINES_MODULE = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
Expand All @@ -1748,6 +1764,8 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 4.0;
MODULEMAP_FILE = "";
PRODUCT_MODULE_NAME = GPUImage;
RUN_CLANG_STATIC_ANALYZER = YES;
SDKROOT = iphoneos;
SYMROOT = "$(PROJECT_DIR)/../build";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0500"
LastUpgradeVersion = "0600"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0500"
LastUpgradeVersion = "0600"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
6 changes: 6 additions & 0 deletions framework/GPUImageMac.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1460,6 +1460,7 @@
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEFINES_MODULE = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
Expand All @@ -1475,7 +1476,9 @@
GCC_WARN_UNUSED_VARIABLE = YES;
INSTALL_PATH = "@loader_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.6;
MODULEMAP_FILE = "";
ONLY_ACTIVE_ARCH = YES;
PRODUCT_MODULE_NAME = GPUImage;
SDKROOT = macosx;
};
name = Debug;
Expand All @@ -1494,6 +1497,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
Expand All @@ -1502,6 +1506,8 @@
GCC_WARN_UNUSED_VARIABLE = YES;
INSTALL_PATH = "@loader_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.6;
MODULEMAP_FILE = "";
PRODUCT_MODULE_NAME = GPUImage;
SDKROOT = macosx;
};
name = Release;
Expand Down
22 changes: 22 additions & 0 deletions framework/Source/GPUImageFASTCornerDetectionFilter.h
Original file line number Diff line number Diff line change
@@ -1,11 +1,33 @@
#import "GPUImageFilterGroup.h"

@class GPUImageGrayscaleFilter;
@class GPUImage3x3TextureSamplingFilter;
@class GPUImageNonMaximumSuppressionFilter;

/*
An implementation of the Features from Accelerated Segment Test (FAST) feature detector as described in the following publications:
E. Rosten and T. Drummond. Fusing points and lines for high performance tracking. IEEE International Conference on Computer Vision, 2005.
E. Rosten and T. Drummond. Machine learning for high-speed corner detection. European Conference on Computer Vision, 2006.
For more about the FAST feature detector, see the resources here:
http://www.edwardrosten.com/work/fast.html
*/

typedef enum { kGPUImageFAST12Contiguous, kGPUImageFAST12ContiguousNonMaximumSuppressed} GPUImageFASTDetectorType;

@interface GPUImageFASTCornerDetectionFilter : GPUImageFilterGroup
{
GPUImageGrayscaleFilter *luminanceReductionFilter;
GPUImage3x3TextureSamplingFilter *featureDetectionFilter;
GPUImageNonMaximumSuppressionFilter *nonMaximumSuppressionFilter;
// Generate a lookup texture based on the bit patterns

// Step 1: convert to monochrome if necessary
// Step 2: do a lookup at each pixel based on the Bresenham circle, encode comparison in two color components
// Step 3: do non-maximum suppression of close corner points
}

- (id)initWithFASTDetectorVariant:(GPUImageFASTDetectorType)detectorType;

@end
84 changes: 84 additions & 0 deletions framework/Source/GPUImageFASTCornerDetectionFilter.m
Original file line number Diff line number Diff line change
@@ -1,5 +1,89 @@
#import "GPUImageFASTCornerDetectionFilter.h"

#import "GPUImageGrayscaleFilter.h"
#import "GPUImage3x3TextureSamplingFilter.h"
#import "GPUImageNonMaximumSuppressionFilter.h"

// 14 total texture coordinates from vertex shader for non-dependent reads
// 3 texture coordinates for dependent reads, then

NSString *const kGPUImageFASTDetectorFragmentShaderString = SHADER_STRING
(
precision highp float;

varying vec2 textureCoordinate;
varying vec2 leftTextureCoordinate;
varying vec2 rightTextureCoordinate;

varying vec2 topTextureCoordinate;
varying vec2 topLeftTextureCoordinate;
varying vec2 topRightTextureCoordinate;

varying vec2 bottomTextureCoordinate;
varying vec2 bottomLeftTextureCoordinate;
varying vec2 bottomRightTextureCoordinate;

uniform sampler2D inputImageTexture;
uniform sampler2D lookupTable;

void main()
{
lowp float centerIntensity = texture2D(inputImageTexture, textureCoordinate).r;
lowp float bottomLeftIntensity = texture2D(inputImageTexture, bottomLeftTextureCoordinate).r;
lowp float topRightIntensity = texture2D(inputImageTexture, topRightTextureCoordinate).r;
lowp float topLeftIntensity = texture2D(inputImageTexture, topLeftTextureCoordinate).r;
lowp float bottomRightIntensity = texture2D(inputImageTexture, bottomRightTextureCoordinate).r;
lowp float leftIntensity = texture2D(inputImageTexture, leftTextureCoordinate).r;
lowp float rightIntensity = texture2D(inputImageTexture, rightTextureCoordinate).r;
lowp float bottomIntensity = texture2D(inputImageTexture, bottomTextureCoordinate).r;
lowp float topIntensity = texture2D(inputImageTexture, topTextureCoordinate).r;

lowp float byteTally = 1.0 / 255.0 * step(centerIntensity, topRightIntensity);
byteTally += 2.0 / 255.0 * step(centerIntensity, topIntensity);
byteTally += 4.0 / 255.0 * step(centerIntensity, topLeftIntensity);
byteTally += 8.0 / 255.0 * step(centerIntensity, leftIntensity);
byteTally += 16.0 / 255.0 * step(centerIntensity, bottomLeftIntensity);
byteTally += 32.0 / 255.0 * step(centerIntensity, bottomIntensity);
byteTally += 64.0 / 255.0 * step(centerIntensity, bottomRightIntensity);
byteTally += 128.0 / 255.0 * step(centerIntensity, rightIntensity);

// TODO: Replace the above with a dot product and two vec4s
// TODO: Apply step to a matrix, rather than individually

gl_FragColor = vec4(byteTally, byteTally, byteTally, 1.0);
}
);


@implementation GPUImageFASTCornerDetectionFilter

- (id)init;
{
if (!(self = [self initWithFASTDetectorVariant:kGPUImageFAST12ContiguousNonMaximumSuppressed]))
{
return nil;
}

return self;
}

- (id)initWithFASTDetectorVariant:(GPUImageFASTDetectorType)detectorType;
{
if (!(self = [super init]))
{
return nil;
}

// [derivativeFilter addTarget:blurFilter];
// [blurFilter addTarget:harrisCornerDetectionFilter];
// [harrisCornerDetectionFilter addTarget:nonMaximumSuppressionFilter];
// [simpleThresholdFilter addTarget:colorPackingFilter];

// self.initialFilters = [NSArray arrayWithObjects:derivativeFilter, nil];
// self.terminalFilter = colorPackingFilter;
// self.terminalFilter = nonMaximumSuppressionFilter;

return self;
}

@end
10 changes: 9 additions & 1 deletion framework/Source/GPUImageVideoCamera.m
Original file line number Diff line number Diff line change
Expand Up @@ -1005,6 +1005,7 @@ - (void)updateOrientationSendToTargets;
case UIInterfaceOrientationPortraitUpsideDown:internalRotation = kGPUImageRotate180; break;
case UIInterfaceOrientationLandscapeLeft:internalRotation = kGPUImageFlipHorizonal; break;
case UIInterfaceOrientationLandscapeRight:internalRotation = kGPUImageFlipVertical; break;
default:internalRotation = kGPUImageNoRotation;
}
}
else
Expand All @@ -1015,6 +1016,7 @@ - (void)updateOrientationSendToTargets;
case UIInterfaceOrientationPortraitUpsideDown:internalRotation = kGPUImageRotateLeft; break;
case UIInterfaceOrientationLandscapeLeft:internalRotation = kGPUImageRotate180; break;
case UIInterfaceOrientationLandscapeRight:internalRotation = kGPUImageNoRotation; break;
default:internalRotation = kGPUImageNoRotation;
}
}
}
Expand All @@ -1028,7 +1030,8 @@ - (void)updateOrientationSendToTargets;
case UIInterfaceOrientationPortraitUpsideDown:internalRotation = kGPUImageRotateRightFlipHorizontal; break;
case UIInterfaceOrientationLandscapeLeft:internalRotation = kGPUImageFlipHorizonal; break;
case UIInterfaceOrientationLandscapeRight:internalRotation = kGPUImageFlipVertical; break;
}
default:internalRotation = kGPUImageNoRotation;
}
}
else
{
Expand All @@ -1038,6 +1041,7 @@ - (void)updateOrientationSendToTargets;
case UIInterfaceOrientationPortraitUpsideDown:internalRotation = kGPUImageRotateLeft; break;
case UIInterfaceOrientationLandscapeLeft:internalRotation = kGPUImageNoRotation; break;
case UIInterfaceOrientationLandscapeRight:internalRotation = kGPUImageRotate180; break;
default:internalRotation = kGPUImageNoRotation;
}
}
}
Expand All @@ -1054,6 +1058,7 @@ - (void)updateOrientationSendToTargets;
case UIInterfaceOrientationPortraitUpsideDown:outputRotation = kGPUImageRotate180; break;
case UIInterfaceOrientationLandscapeLeft:outputRotation = kGPUImageFlipHorizonal; break;
case UIInterfaceOrientationLandscapeRight:outputRotation = kGPUImageFlipVertical; break;
default:outputRotation = kGPUImageNoRotation;
}
}
else
Expand All @@ -1064,6 +1069,7 @@ - (void)updateOrientationSendToTargets;
case UIInterfaceOrientationPortraitUpsideDown:outputRotation = kGPUImageRotateLeft; break;
case UIInterfaceOrientationLandscapeLeft:outputRotation = kGPUImageRotate180; break;
case UIInterfaceOrientationLandscapeRight:outputRotation = kGPUImageNoRotation; break;
default:outputRotation = kGPUImageNoRotation;
}
}
}
Expand All @@ -1077,6 +1083,7 @@ - (void)updateOrientationSendToTargets;
case UIInterfaceOrientationPortraitUpsideDown:outputRotation = kGPUImageRotateRightFlipHorizontal; break;
case UIInterfaceOrientationLandscapeLeft:outputRotation = kGPUImageFlipHorizonal; break;
case UIInterfaceOrientationLandscapeRight:outputRotation = kGPUImageFlipVertical; break;
default:outputRotation = kGPUImageNoRotation;
}
}
else
Expand All @@ -1087,6 +1094,7 @@ - (void)updateOrientationSendToTargets;
case UIInterfaceOrientationPortraitUpsideDown:outputRotation = kGPUImageRotateLeft; break;
case UIInterfaceOrientationLandscapeLeft:outputRotation = kGPUImageNoRotation; break;
case UIInterfaceOrientationLandscapeRight:outputRotation = kGPUImageRotate180; break;
default:outputRotation = kGPUImageNoRotation;
}
}
}
Expand Down
3 changes: 3 additions & 0 deletions framework/Source/Mac/GPUImage.h
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
#import <OpenGL/OpenGL.h>
#import <OpenGL/gl.h>
#import <Cocoa/Cocoa.h>
#import <GPUImage/GLProgram.h>

// Base classes
Expand Down

0 comments on commit 9c85264

Please sign in to comment.