last
Add a property to set the JPEG compression quality to use when capturing a JPEG from the camera.

Signed-off-by: Karl von Randow <karl@xk72.com>
doing my best to DRY up capturePhotoAs* methods of GPUImageStillCamera
extra check to preempt trying to capture two still images at once
GPUImageVideoCamera makes the metadata from the image capture available during the capture completion handler
Bug fix: textureNoLongerNeededForTarget would release texture before all the initial filters in a filter group had used it

This problem manifests when shooting photos (ie. the conserve memory is active) and operating a chain of filters (eg. camera -> sketch -> tilt shift) where there is a filter group with multiple input filters after another filter (as above). One of the filter group's initial filters would get an empty input texture as the texture would be released early.

This is because the outputTextureRetainCount is based on number of targets. But a filter group target actually represents initialFilters filters (ie. possibly more than 1).

This change proxies delegate callbacks to textureNoLongerNeededForTarget from initialFilters in a filter group, through the filter group so it can run its own "retain count", before telling the actual delegate to release the texture.

I have tested this with a simple example of Camera -> Sketch -> TiltShift (which is a filter group). The problem appeared when you shoot a photo - the tilt shift would have the blurry bit intact but the in-focus part of the image would be black (as the texture was released).

This problem is now corrected and the same number of textures are released (so they are still being released, just later).

Signed-off-by: Karl von Randow <karl@xk72.com>
Merge pull request #631 from karlvr/textureNoLongerNeededForTarget

textureNoLongerNeededForTarget would release texture before all...
Merge pull request #621 from karlvr/jpegquality

JPEG compression quality property for still image capture
Merge https://github.com/brettg/GPUImage

Conflicts:
	framework/Source/GPUImageStillCamera.h
	framework/Source/GPUImageStillCamera.m
added anchorTopLeft property to GPUImageTransformFilter
Support for parameterless methods.
Update
Manual update for GPUImageFilterPipeline

I removed my updates to merge with latest changes. I'll put it again
after this commit.
Support for parameterless selectors and ARC fix for NSString arguments.
New method added to get CGImage with orientation.
Undoing Test classes
whoops, extra dispatch_semaphore_signal
output texture was not initialized in GPUImageRawDataInput
Merge pull request #637 from brettg/whoops

There was an extra dispatch_semaphore_signal in my last pull request
Merge pull request #638 from lajos/rawInputFix

output texture was not initialized in GPUImageRawDataInput